E D R , A S I H C RSS

Full text search for "Header 정의"

Header%20%EC%A0%95%EC%9D%98


Search BackLinks only
Display context of search results
Case-sensitive searching
  • EffectiveC++ . . . . 31 matches
         1. 상수 포인터(constant pointer)를 정의하기가 다소 까다로워 진다는 것.
          // header.
          const int GamePlayer::NUM_TURNS; // 정의를 꼭해주어야 한다.
         상속받은 클래스내에 operator new연산자를 다시 재정의 해줘야 한다. [[BR]]
         DeleteMe 그런 의미보다 String 이나, linked list 혹은 기타 여러 기타 데이터 형으로 많은 수의 할당을 통해서 쓸수 있는 인자의 경우에는 사용자 정의 new를 이용하여 가능하면 공용 메모리 공간에서 활동시켜서, 메모리 할당 코드를 줄이고 (메모리 할당의 new와 alloc는 성능에 많은 영향을 미칩니다.) 메모리를 줄이고 효율적 관리를 할수 있다는 의미 같습니다. 그런 데이터 형으로 쓰이는 인자가 아닌 한 app안에서 단 한번만 사용되는 클래스라면 구지 new를 성의해서 memory leak의 위험성을 증가 시키는 것보다, 일반적인 new와 생성자 파괴자의 규칙을 쓰는것이 좋을겁니다. --상민
         클래스 내에 operator=가 정의 되어 있지 않기 때문에, C++에서 default 치환 연산자를 호출한다.[[BR]]
         String c = a; // c의 data는 정의 되지 않는다.
          // 복사 생성자가 정의 되지 않았기 때문에 C++에서 제공하는 default 치환 연산자 호출.
         '' * 클래스 안에 포인터를 조물딱 거리는 멤버 변수가 있을 경우에는 그 클래스에 복사 생성자와, 치환 연산자를 꼭 정의해 주어야 한다...''
         // class내의 정적 변수는 클래스의 바깥쪽에 정의되어야 한다.
         삭제하려고 하며, 베이스 클래스는 가상 소멸자를 가지고 있지 않은 경우. 그 결과는 정의되어 있지 않다. 이것은 컴파일러로 [[BR]]
         우리는 우선 operator=를 정의 해줄때
         이 런식의 연속적인 치환 연산을 할 수 있어야 한다. 그렇기 때문에 operator=연산자의 리턴형을 void로 정의 하면 안된다.[[BR]]
         그리고, operator=연산자의 리턴형을 const로 정의 해 주었을때. 밑의 예제와 같은 멍청한(?) 연산을 해주었을때 적용 되지 않는다. 밑의 연산은 멍청한(?) 연산이지만 C++의 기본 타입에 대해 저런 연산이 가능하기 때문에 저런 연산도 지원하게 끔 만들어야 한다.
         // 이때 operator== 을 다시 재정의 해주어야 한다
         // 이경우에도 operator == 을 정의하여 식별자가 같은지 검사해보아야 한다.
         그런데, 왜 최소한인가? 여러가지 일을 할수 있는 멤버 함수들을 계속 추가해 나가면 안되는 것인가? 대답은 안된다. 왜 안되는 것일까? 당신은 멤버 함수가 10개 있는 클래스와 100개가 있는 클래스중 어떤것이 이해하기 쉽다고 생각하는가? 나 만 쓰려는 클래스가 아닌이상 다른 사용자들이 쉽게 이해 할수 있도록 만들어야 하지 않겠는가? 그렇기 때문에 최소한의 인터페이스를 추구하는 것이다. 그리고, 관리적인 면에서 볼때 적은 함수들을 가진 클래스가 용이하다는 것이다. 중복된 코드라던지 아니면 개선할 것들을 향후에 하기 쉽다는 것이다. 또한, document를 작성한다 든지 할때 적은 멤버 함수들을 가진 클래스 쪽이 용이하다는 것이다. 마지막으로 아주 긴 클래스 정의는 긴 헤더 파일을 초래 한다. 일반적으로 헤더 파일들은 프로그램이 컴파일될 때마다 매 번 읽혀져야 하기 때문에 필요 이상 긴 클래스 정의는 프로젝트 주기 중의 총 컴파일 시간을 갉아 먹는다. 그런 이유들 때문에 최소한의 클래스 인터페이스를 추구하는 것이 좀더 나은 판단이라는 것이다.
         temp = 2 * a; // 이런 연산. - friend함수를 사용하여 연산자를 정의 해줘야지만 작동한다.
         NULL이라는 상수에 대한 타입의 정의가 모호하다.
         C++언어 클래스 기본 치환 연산자를 멤버의 복사로 정의되어 있으므로
  • MoreEffectiveC++/Miscellany . . . . 29 matches
         "변화한다.", 험난한 소프트웨어의 발전에 잘 견디는 클래스를 작성하라. (원문:Given that things will change, writeclasses that can withstand the rough-and-tumble world of software evolution.) "demand-paged"의 가상 함수를 피하라. 다른 이가 만들어 놓지 않으면, 너도 만들 방법이 없는 그런 경우를 피하라.(모호, 원문:Avoid "demand-paged" virtual functions, whereby you make no functions virtual unless somebody comes along and demands that you do it) 대신에 함수의 ''meaning''을 결정하고, 유도된 클래스에서 새롭게 정의할 것인지 판단하라. 그렇게 되면, 가상(virtual)으로 선언해라, 어떤 이라도 재정의 못할지라도 말이다. 그렇지 않다면, 비가상(nonvirtual)으로 선언해라, 그리고 차후에 그것을 바꾸어라 왜냐하면 그것은 다른사람을 편하게 하기 때문이다.;전체 클래스의 목적에서 변화를 유지하는지 확신을 해라.
         그 의미는 클라이언트 코드에 대하여 약간의 변화가 -delete문-결과적으로 클래스 B의 정의까지 변화해야 하는 필요성을 보여준다. 그런한 상황이 발생하면, B의 클라이언트들은 모두 재 컴파일 해야 한다. 아까, 이 필자의 충고를 따르면, 확장 코드에 대한 클라이언트의 라이브러리도 재 컴파일, 재 연결해야 한다. 이는 소프트웨어 디자인에 효과를 미틴다.
         그리고 다음과 같이 정의 된다.
         모든 일에 대하여 AbstractTnimal은 반드시 추상적이어야 하나? 그것은 반드시 최소 하나의 순수 가상 함수를 가지고 있어야 한다. 대부분의 경우에 알맞는 함수를 고르기에는 별 문제가 없다. 그렇지만 희귀한 경우에 당신은 아마 AbstractAnimal 같은 클래스를 만들어야 하는 상황에 직면할지도 모른다. 그러한 경우에, 적당한 방법은 순수 가상 함수로 파괴자를 만들어 버리는 것이다.;위에서 보는것과 같이 말이다.포인터를 통한 다형성을 지원하기 위하여 기본 클래스는 가상 파괴자를 어떤 방법으로든 필요로 한다. 그래서 순수 가상함수를 만들기 위한 비용만이 해당 클래스 정의부 바깥에서 이루어질 구현에서 지불된다. (에를들어서 p195를 보아라)
         이러한 변환 과정에서 처음의 값은 추상 추상 클래스 A 를 확인하게 만든다. C1과 C2는 아마 보통 몇가지를 가지고 있다.:그것은 그들이 public 상속이 되는 이유이다. 이 변환으로 당신은 반드시 그 가지고있는 어떻것을 확인해야 한다. 게다가 C++에서 클래스로 모호한 부분에 대하여 명확하게 해주어야 한다. 그것은 보통 추상화(abstraction)가 추구해야 하는 것이고 잘 정의된 멤버 함수와 확실한 문법으로 구현된다.
         당신이 하려는 훌륭한 추상 패킷 클래스 디자인은 당신이 다양한 목적에 수많은 다른 패킷을 훌륭하게 만들어 보지 않고서는 할수 없다. 이번 경우에서 이런 제한된 경험을 제시하는 것은 나의 충고가 패킷에 대한 정의가 아니라, 추후 오직 concrete 패킷 클래스로 부터 상속의 필요성이 있을때에, 패킷의 추가를 용이하게 하기 위한 것이다.
          * 당신의 새로운 클래스를 당신이 상속 받고자 하는것과 비슷한 클래스 라이브리의 한부분에 구현해라. 예를 들어서 당신이 데이터 멤버로서 라이브러리 클래스의 객체를 가지고 싶을때, 당신의 새로운 클래스에 라이브러리 클래스의 인터페이스를 재정의 해라.
          이러한 전략은 당신이 의존하고 있는 라이브러리 벤더의 클래스가 업데이트 될때 마다 당신의 클래스를 업데이트를 할 준비가 되어 있는걸 요구한다. 또한 라이브러리 클래스상에서 가상 함수의 재정의 능력을 제거를 요구하기도 한다. 왜냐하면 당신은 상속 받기 전까지 가상 함수를 재정의 할수가 없다.
         extern "C"의 이러한 사용은 C++과 C를 사용해야만 하는 헤더파일의 유지보수를 간편하게 해준다. C++로 컴파일 할때는 extern "C"를 허용하고, C로 할 때는 허용하지 않고 컴파일 하면 된다. 이러한 preprocessor에 대한 심벌(symbol)은 __cplusplus 가 C++ 컴파일 타임에 정의되어 있는 것을 이용해서 다음과 같이 구성할수 있다.
         자료 구조의 입장은 이렇게 요약된다.:구조체의 정의를 C++와 C에서 전부 컴파일되도록 만들면, C++에서 C로의 구조체의 전달과, C에서 C++로의 전달은 안전하다. 비가상 멤버 함수를 C++ 버전의 구조체에 더하는 것은, 다른 한편으로 C에 맞추는 것이기에 이것도 두 언어간에 조화에 영향을 끼치지 안흔ㄴ다. 하지만 구조체가 몇가지의 변화이 안될 것이다.
         출반된 1990년 이후, ''The Annotated C++ Reference Manual''은 프로그래머들에게 C++에 정의에 참고문서가 되어 왔다. ARM기 나온 이후에 몇년간 ''ISO/ANSI committe standardizing the language'' 는 크고 작게 변해 왔다. 이제 C++의 참고 문서로 ARM은 더 이상 만족될수 없다.
         ISO/ANSI standard for C++ 는 컴파일러가 구현될때, 벤더들의 조언이고, 책을 준비할때, 작가들이 시험해 볼 것이고, 프로그래머들이 C++에 관한 정의에 질문에 답이다. ARM이 나온 이후 C++에 가장 큰 변화를 알아 보자.
          * '''새로운 개념의 추가''' : RTTI, namespace, bool, mutable과 explicit keyword, enum을 위한 오벌드(overload) 연산자 능력, 클래스 정의 내부에서 이용한 완전한 정적 클래스 멤버 초기화 증력
          * '''예외 핸들링의 재정의''' : 예외 스팩은 현재 컴파일 중에 더욱더 엄격하게 검사 된다. 그리고 예측할수 없는 함수는 아마도 bad_exception 예외 객체를 던진다.
          * '''언어 규칙의 개선''' : 가상 함수의 개선으로 이제 더이상 재정의한 함수와 정확히 일치하는 형의 반환인자를 가지지 않는다. 그리고 임시 객체의 생명주기도 정확하게 정의되었다.
         표준 라이브러리에 일어나는 것들에 대한것에서 C++의 정확한 규정의 변화가 있다. 개다가 표준 라이브러리의 개선은 언어의 표준 만큼이나 알려지지 않는다. 예를 들어서 ''The Design and Evolution of C++'' 거의 표준 라이브러리에 관한 언급이 거의 없다. 그 책의 라이브러리에 과한 논의라면 때때로 있는 데이터의 출력이다. 왜냐하면, 라이브러리는 1994년에 실질적으로 변화되었기 때문이다.
         우리가 일반적으로 생각하는 string 클래스는 basic_string<char>을 명시적으로 표현한 것이다. 이것을 일반화 시키기 위하여 표준 라이브러리에서는 다음과 같이 정의하고 있다.
         string 형의 디자인에 반영된 이러한 접근은-템플릿의 일반화- 표준 C++ 라이브러리를 통해서 반복되어 진다. IOStream? 그들은 템플릿이다.; 인자(type parameter)는 스트림에서 만들어지는 문자형으로 정의되어 있다. 복잡한 숫자(Complex number)? 역시 템플릿이다.;인자(type parameter)는 숫자를 어떻게 저장할지 정의되어 있다. Valarray? 템플릿이다.;인자(type parameter)는 각 배열에 최적화된다. 그리고 STL은 거의 모든 템플릿의 복합체이다. 만약 당신이 템플릿에 익숙하지 않다면, 지금 한발작 내디뎌 보아라.
         Fortunately, this syntactic administrivia is automatically taken care of when you #include the appropriate headers.
         배열을 위한 C++(그리고 C)의 규칙을 기억하는 것이 STl을 전체적으로 바라보는데 가장 선행되어야 할 작업이다. 우리가 알아야 할것은 정말 오직 하나의 규칙이다.:배열을 가리키는 포인터는 합법적으로 배열상의 어떠한 인자나 배열의 끝을 넘어 어떠한 인자라도 가리킬수 있다. 만약 포인터가 배열의 끝을 넘은 인자를 가리킨다면, 그것은 배열을 가리키는 다른 포인터와 비교 되어지는 셈이다.; 결과적으로 정의되지 않은 dereferencing을 수행하는 것이다.
  • 새싹교실/2012/세싹 . . . . 26 matches
         || 선생님 || [정의정] ||
         || 선생님 || [정의정] ||O||
          * 새싹 첫시간을 가졌습니다. 다른 새싹반들과는 다른 커리큘럼으로 진행을 해야해서, 무엇을 수업해야할지 고민이 많습니다(멘붕 일보직전). 학교수업 듣는것처럼 하지말고 자유로운 분위기에서 진행되면 좋겠습니다. - [정의정]
          * 어... iso파일을 풀필요없이 버추얼박스에서 바로 마운트시키는건데.. 제대로 설치됬어? - [정의정]
         || 선생님 || [정의정] ||O||
          * 소켓 프로그래밍을 시작하였습니다. 네트워크에 대해 전혀 지식이 없는 친구들에게 짧은 시간안에 어떻게 개념을 알려주나 많이 고민했고 결과는 역시 fail이었던 것 같습니다. 짧은 시간에 이론적인 부분을 하는건 강사나 새싹이나 멘탈이 찢어지는 일인 것 같습니다..... 그리고 화요일 시간을 조정해야될 것 같네요.. 새싹 수업이 선대 끝나고 바로 있어서 희성이가 꾸벅꾸벅 졸았습니다. 선대를 안들은자만이 돌을 던지라. - [정의정]
          * 희성아...솔직해져도 되... - [정의정]
         || 선생님 || [정의정] || O ||
          * 주말간 바빠서 위키접속을 못하는 동안 엄청난 일이 벌어졌군.. 절대 저런 숙제를 내준 기억은 없는데.... - [정의정]
         || 선생님 || [정의정] || 지각 ||
          * 이번에도 위키 업데이트가 좀 늦었습니다. 새싹 시간도 깜빡해서 지각하고.. 점점 바빠지는 것 같네요. 시간을 좀 더 아껴써야겠다는 생각이 들었습니다. 그리고 정해진 커리큘럼대로 하는 수업이 아니라서 그냥 손에 잡히는대로 필요한 지식을 전수하기로 했습니다. 물론 코딩은 지속적으로 할 수 있게 숙제가 나갈 예정입니다. - [정의정]
         || 선생님 || [정의정] || O ||
         || 선생님 || [정의정] || O ||
         } NTFS_RECORD_HEADER, *PNTFS_RECORD_HEADER;
          NTFS_RECORD_HEADER Ntfs;
         } FILE_RECORD_HEADR, *PFILE_RECORD_HEADER;
         PFILE_RECORD_HEADER MFT;
          MFT = PFILE_RECORD_HEADER(new U8[BytesPerFileRecord]);
         || 선생님 || [정의정] || O ||
          * 새싹교실이 URP프로젝트 팀으로 넘어가게 되었습니다. [김희성] 내가 어제 창설하라고 할때는 안하고 오늘은 새싹을 째고 창설을 하는구나 :D - [정의정]
  • 요정 . . . . 24 matches
          <요정의 기원>
         <요정의 속성>
         <요정의 종류>
         육지에 사는 것, 물 속에 사는 것이 있으며 성질도 가지각색으로 인간에게 도움을 주는 것 (아일랜드의 레프리콘) 도 있지만 요정의 화살을 쏘아서 마비시키는 (콘월의 픽시) 등 나쁜 짓을 하는 것도 있다. 땅의 풍토나 자연에 따라 가지각색의 요정이 있다. 요정은 스스로 선택해서 모습을 나타내기 때문에 사람이 요정을 만나기는 쉽지 않다. 다만 느낄 수는 있다. 눈보다 귀로 요정의 존재를 아는 사람이 훨씬 많다는 걸 알아두어야 한다. 발소리나 노래 소리 따위는 요정의 짓이 대부분이다. 요정은 보기도 어렵지만 보게 되더라도 눈깜짝할 순간에 놓쳐버리고 만다. 투시 능력이 있는 사람에게는 보인다고도 하지만 보통 인간에게도 간단한 방법이 있긴 하다. 네잎 클로버를 머리 위에 올려놓고 요정이 바르는 약을 눈에 붙인다. (다만 약 만드는 법은 요정만이 알고 있다)
         <요정의 음식>
         작은 산이나 물속, 숲 근처에 사는 요정이 많은 듯하다. 물론 사람 근처에 사는 걸 즐기는 요정도 있다. 요정 나라는 작은 산의 입구부터 대지 밑, 또는 해변의 동굴부터 바다밑까지 널리 퍼져있다. 또 요정들은 호수나 냇물 속, 나무 구멍이나 뿌리 사이, 언덕에 뚫린 굴속에 사는 것으로 여겨졌다. 그들은 달빛을 받으며 춤을 추는 걸 즐겼는데, 사람들은 항상 '요정의 링' 을 보고 그들이 맘에 들어 한 무도장을 발견할 수 있다. 그것은 버섯이 점점이 줄지어 완전한 원형을 만들어 놓은 것으로, 그 원 속의 풀은 주위의 풀보다 짙은 녹색을 띈다. 사람들은 이 순수한 원을 피해 가야한다. 만약 그 원 속에 발을 디디거나 그 속에서 잠을 잔다면, 요정들에게 유괴될지도 모른다고 생각했기 때문이다. 요정들에게 유괴되어 그들이 사는 지하에서 몇 분 있다 돌아오면 지상에서 는 이미 몇 년이 지나있다고 한다.
         <요정의 성격>
         <요정의 음악>
         <요정의 키>
         <요정의 의복>
         뇌출혈에 의해 발생하는 반신불수나 수족마비를 '중풍'이라고 하지만 이것은 요정의 짓이라고 전해지고 있다. 류마티즘이나 피부병, 결핵, 게다가 종아리에 갑자기 쥐가 날 때, 경련이 일어날 때도 옛날 유럽 사람들은 요정 탓이라고 했다. 부딪힌 기억이 없는데도 몸에 시퍼런 멍이 들 때가있는데 그것은 요정이 손가락으로 꼬집은 것이다. 부도덕, 불결을 싫어하는 요정이 인간에게 준 벌인 것이다.
         <요정의 놀이>
         <요정의 선물>
         가끔 요정들은 사람에게 일종의 마성을 띈 꿰뚫어보는 힘인 '천리안'을선물하곤 했다. 그것은 요정이 사람의 눈꺼풀 위에 고약 (또는 요정의 침)을 바르는 순간 생기는데 이 시력은 마술적 환상을 꿰뚫어 볼 수 있게 했다. 즉 마법으로 만든 각종 가구, 장식품 등이 실제로는 나무 등걸이나 짚더미인 것을 알아챌 수 있게 한 것이다.
         <요정의 실존 증거>
         믿을 수 없지만, 유럽에는 요정의 물건을 소장하고 있는 박물관이 많다.에딘버러에 있는 박물관에는 '요정의 관' 이 있다. 스코틀랜드의 서쪽에 떠있는 루이스 섬의 근처에 픽시의 작은 섬이 있다. 16 세기와 17 세기에 인간의 것으로 보기에는 너무나 작은 뼈가 발견돼었다는 기록이 남아 있다. 그러나 20 세기에 들어서 발견된 뼈가 바다새나 작은 포유동물의 것으로 판명됐기 때문에 과거에 발견된 뼈도 요정의 것은 아닌 것으로 보인다. 요정을 찍은 사진 중에서도 수정이나 이중 촬영한 흔적이 보이는 것이 많다.(참고로 빅토리아 시대엔 요정의 존재를 꽤 믿었다고 합니다. 이 시대에 초심령현상에 대한 열풍이 불기도 했지요.)
         콘월 지방에 사는 난쟁이 픽시 (pixie)는 빨간 뾰족모자에 푸른 옷을 입고 둥근 눈과 귀를 가지고 있는데, 꽤 짓궂은 장난을 치기 좋아해 길에서 여행자가 길을 잃게 하고 집에서는 물건을 숨기거나 촛불을 불어 꺼 버렸다. 콘월 지방 사람들은 픽시를 세례를 받기 전에 죽은 갓난아기의 영혼이라 믿었다. 또 픽시의 땅 '가리토 랩 (가리트립스라고도 함)' 에 잘못하여 발이 닿으면 요정의 화살에 맞는다고 한다. 콘월의 옛 광산 갱도에는 '노츠카' 라는 광산의 요정이 살고 있어 친절한 사람에게는 바위를 울려서 광산이 있는 장소를 알려주었다고 한다.
         엘프는 귀가 길고 키는 사람만큼, 또는 약간 더 작거나 크다. 아름다우며 현명하고 수명이 매우 길다. 마법에 아주 뛰어나지만 체력이 다른 요정에비해 약하다. (엘프도 요정의 일종이라 보는 게 좋겠죠)
         요정은 일반적으로 양심이나 절조가 없고 장난기가 있어 인간에게 친절한 대접을 받으면 거창하게 답례하지만 조금이라도 푸대접을 받으면 심하게보복한다. 때때로 인간의 아기와 못갱긴 자기 아기를 바꿔 놓기도 하는데, 이때에는 요정의 아기 발에 기름을 바르고 천장에 매단 후 아래에서 불을 피우면 마지못해 훔쳐갔던 아기를 돌려준다고 한다.
  • AcceleratedC++/Chapter11 . . . . 17 matches
          따라서 어떤 타입이 Vec에서 사용되는진는 정의부가 instiation 되기 전에는 알 수 없다.
          인자의 기본형을 지정해주면 한개의 함수정의로도 2가지의 생성자의 역할을 할 수 있기 때문에 편리하다.
          === 11.2.3 타입 정의 ===
          '''const_iterator, iterator'''를 정의해야함.
          back_inserter(T)함수를 통해서 동적으로 크기를 변경시키기 위해서 '''value_type, push_back''' 타입을 정의함. (value_type 은 현재 저장된 요소가 어떤 타입인지를 알려줌)
          value_type은 T가 되어야하는 것은 당연하다. 배열의 개수를 표현하는 size_type은 cstddef 에 존재하는 size_t로서 정의하는 것이 합당하다.
          상기의 연산을 가능하게 하기 위해서는 operator[], size() 함수를 정의 해야한다.
          만약 멤버 함수로 연산자가 정의 되어 있다면 좌측 피연산자는 함수를 호출한 객체로 간주되고 오버로드 연산자는 인자로 우측의 피연산자만을 인자로 취한다.
         우리가 복사, 대입, 소멸시 하는 일에 대해서 명시적으로 정하지 않으면 컴파일러는 정해진 자신만의 방법으로 이런 일을 하는 정의를 만들어서 작동하게 된다.
          함수의 인자를 복사하는 것을 포함해서, 복사본을 만든다는 의미를 정의하고 있기 때문에 매개변수를 레퍼런스 타입으로 하는 것이 좋다.
          생성자, 소멸자, 복사 생성자, 대입연산자를 재정의 하지 않을 경우에는 컴파일러가 기 정의된 방식으로 이런 생성자의 기본형을 만든다.
          일반적으로는 명시적으로 정의된 디폴트 생성자를 만드는 것이 좋다.
          || 복사 생성자 미정의 || 원본과 복사본의 데이터가 상호 참조의 형식으로 동작한다. ||
          || 소멸자 미정의 || 포인터 객체가 존재하는 경우 memory leak 이 발생 ||
          '''※ 클래스에 소멸자가 필요하다면 반드시 복사 생성자와 대입 연산자를 재정의해야 올바른 동작을 보장한다.'''
          || 한 객체에 대해서 모든 복사본이 제대로 동작하면 재정의 해야할 것들 ||
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/변준원 . . . . 17 matches
         프로그램상에서의 캡슐화의 의미는 프로그램 분석자나 설계자가 주어진 문제를 데이타와 함수들의 세부사항들은 개발의 차후단계에서 정의하고, 객체라는 덩어리 단위로 문제에 대해 생각하게 하는 추상화의 수단을 제공하는 데 있다.
         객체지향 프로그래밍에서 "속성 상속"은 새로운 클래스를 정의할 때 모든 것은 처음부터 다 정의하는 것이 아니라 이미 존재하는 유사한 클래스를 바탕으로 하여 필요한 속성만 추가하여 정의하는 경제적인 방법을 의미한다. 이 때 새로이 생기는 클래스를 subclass라 하고 그 바탕이 되는 클래스를 superclass라 한다. 이렇게 하면 클래스들 사이에서 공통으로 가지는 특성, 즉 데이타 구조나 함수들은 중복하여 정의하는 일을 줄일 수 있을 뿐 아니라, 특성을 수정하거나 추가시에 superclass의 정의만 고치면 그 subclass들도 변경된 속성을 자동적으로 상속받게 되므로 매우 편리하다.
         객체 지향 프로그램의 중요한 특징으로 하나의 함수 이름이나 심볼이 여러 목적으로 사용될 수 있는 다형성(Polymorphism)을 들 수 있다. 객체 지향에서의 다형성이란, 복수의 클래스가 하나의 메세지에 대해 각 클래스가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 말한다. 즉, 별개로 정의된 클래스들이 ㅌ은 이름의 함수를 별도로 가지고 있어 하나의 메세지에 대해 각기 다른 방법으로 그 메세지를 수행할 수 있는 것을 의미한다. 예를 들어, 여러 가지 화일(file)들을 프린트 하는 함수를 생각해 보자. 화일에는 간단한 텍스트 화일(text file), 문서 편집기로 만든 포멧 화일(format file), 그래픽을 포함하는 화일(file with graphics) 등 여러 가지가 있다. 이들 각각의 화일들은 프린트 하는 방법이 모두 다르다, 객체 지향에서는 아래처럼 각 종류의 화일을 별도의 클래스로 정의하고, 각각의 화일 종류별로 Print라는 함수를 화일의 형태에 맞게 구현한다.
         이렇게 생성된 화일 객체들은 모두 Print라는 메세지를 이해하며, 각 화일의 종류에 알맞게 프린트 할 수 있다. 이렇듯 다형성은 같은 이름의 함수를 여러 클래스가 각 클래스에 알맞게 달리 정의하고 같은 이름의 메세지에 응답할 수 있게 해준다.
         객체와 객체 사이의 정보 교환은 외부에 공개하고자 하는 일련의 정보를 public interface로 정의해 외부에 객체들이 이 Interface를 통해서 그 객체와 정보를 교환하도록 한다. 즉, 한 객체의 Public Interface를 그 객체가 "무슨 일을 할 수 있다. 혹은 이 정보는 공개할 수 있다."라고 외부에 선언하는 것이다.
         이 Public Interface는 언어에 따라 표현 양식이 다른데, C++에서는 "public"이란 특별 구문을 두어 "public"란에 들어간 항목들만 외부에 공개된다. Effel이란 언어에서는 "export"라는 란에 지정된 항목들만 외부에 공개된다. 앞에서 정의한 POINT라는 객체 정의를 보면 move와 setcolor의 함수들이 외부에서 관찰될 수 있는 public interface임을 알 수 있다. 여기서 한가지 유의할 점은 move와 setcolor라는 함수들이 외부에 보여져 불리워질 수 있는 함수들이라는 것이며 각 함수가 가지고 있는 코드나 알고리즘까지 보여지는 것은 아니라는 것이다. 한 함수가 외부에 보여지는 부분을 signature라고 하며 하나의 signature는 함수의 이름, 입력 매개변수(input parameter)와 출력 매개변수(output parameter)로 구성되어 있다.
         클래스 중에는 인스턴스(instance)를 만들어 낼 목적이 아니라 subclass들의 공통된 특성을 추출하여 묘사하기 위한 클래스가 있는데, 이를 추상 클래스(Abstract class, Virtual class)라 한다. 변수들을 정의하고 함수중 일부는 완전히 구현하지 않고, Signature만을 정의한 것들이 있다. 이들을 추상 함수(Abstract function)라 부르며, 이들은 후에 subclass를 정의할 때에 그 클래스의 목적에 맞게 완전히 구현된다. 이 때 추상 클래스의 한 subclass가 상속받은 모든 추상 함수들을 완전히 구현했을 때, 이를 완전 클래스(Concrete class)라고 부른다. 이 완전 클래스는 인스턴스를 만들어 낼 수 있다.
         추상 클래스의 예로서 프린터 소프트웨어를 생각해 보자. 우선 모든 종류의 프린터들이 공통으로 가지는 특성을 정의한 추상 클래스 "Printer"가 있다고 한다면, 여기에는 프린터의 상태를 나타내는 변수, 프린터의 속도 등의 변수가 있으며 함수로는 프린팅을 수행하는 Print 등을 생각할 수 있다. 그러나 프린터마다(Dot matrix printer, Laser printer, Ink jet printer) 프린팅 하는 방법이 다르므로 이 추상 클래스 안에서는 Print라는 함수를 완전히 구현할 수 없다. 다만, 여기에는 Print 추상 함수의 Signature만 가지고 있으며, 실제의 구현은 여러 subclass에서 각 프린터 종류에 알맞게 하면 된다.
         "Printer"라는 클래스는 추상 클래스로서 실존의 어떤 프린터 기능을 가지고 있지 않고, dot matrix printer나 laser printer 등의 완전 클래스들 간의 공통된 특성만 지정하고 있으므로, 그 인스턴스를 만드는 것은 무의미하다. 추상 클래스는 점진적 개발 방법(Incremental Development)에 유용하게 사용될 수 있으며, 공통 속성(attribute)의 추출 및 정의에 유용하므로 문제를 모델링하는데 편리함을 더해준다.
  • Gof/Singleton . . . . 15 matches
          * Instance operation (클래스의 메소드)을 정의한다. Instance 는 클라이언트에게 해당 Singleton의 유일한 인스턴스를 접근할 수 있도록 해준다.
         다음의 예를 보라. C++ 프로그래머는 Singleton class의 Instance operation을 static member function으로 정의한다. Singleton 또한 static member 변수인 _instance를 정의한다. _instance는 Singleton의 유일한 인스턴스를 가리키는 포인터이다.
          * (c) C++ 은 global 객체의 생성자가 translation unit를 통하면서 호출될때의 순서를 정의하지 않는다[ES90]. 이러한 사실은 singleton 들 간에는 어떠한 의존성도 존재할 수 없음을 의미한다. 만일 그럴 수 있다면, 에러를 피할 수 없다.
         더욱더 유연한 접근 방법으로 '''registry of singletons''' 이 있다. 가능한 Singleton class들의 집합을 정의하는 Instance operation을 가지는 것 대신, Singleton class들을 잘 알려진 registry 에 그들의 singleton instance를 등록하는 것이다.
         물론, 코드 어디에선가 클래스를 인스턴스화하지 않으면 생성자는 호출되지 않을 것이다. C++에서는 MySingleton의 static instance를 정의함으로서 이 문제를 잘 해결할 수 있다. 예를 들어, MySingleton 클래스의 구현부를 포함하는 화일에 다음과 같이 정의하면 된다.
         미로를 만드는 MazeFactory 클래스를 정의했다고 하자. MazeFactory 는 미로의 각각 다른 부분들을 만드는 interface를 정의한다. subclass들은 더 특별화된 product class들의 instance들을 리턴하기 위한 opeation들을 재정의할 수 있다. 예를 들면 BombedWall 객체는 일반적인 Wall객체를 대신한다.
         새로운 MazeFactory의 subclass를 정의할때 매번 Instance 가 반드시 수정되어야 한다는 것에 주목하자. 이 application에서야 별다른 문제가 발생하지 않겠지만, 이러한 구현은 framework 내에 정의된 abstract factory들 내에서만 한정되어버린다. (Implementation의 subclass 관련 부분 참조)
         InterViews user interface toolkit[LCI+92]는 toolkit의 Session과 WidgetKit 클래스의 unique instance에 접근하지 위해 SingletonPattern을 이용한다. Session은 application의 메인 이벤트를 dispatch하는 루프를 정의하고 사용자 스타일관련 데이터베이스를 저장하고, 하나나 그 이상의 물리적 display 에 대한 연결들(connections)을 관리한다. WidgetKit은 user interface widgets의 look and feel을 정의한다. WidgetKit::instance () operation은 Session 에서 정의된 환경변수에 기반하여 특정 WidgetKit 의 subclass를 결정한다. Session의 비슷한 operation은 지원하는 display가 monochrome display인지 color display인지 결정하고 이에 따라서 singleton 인 Session instance를 설정한다.
  • JavaStudy2003/두번째과제/노수민 . . . . 15 matches
          * 클래스 : 특정한 종류의 모든 객체들에 적용할 수 있는 변수와 메소드를 정의하는 '소프트웨어적인 설계도' 이다.
          자바에 메소드(함수) 다중정의, 매소드 재정의가 있다.
         === 클래스 정의 및 인스턴스(객체) 생성 ===
          * 클래스 정의
         === 메소드의 다중 정의 ===
          * 자바에서는 함수 다중 정의만을 제공함
         === 상속과 인스턴스 메소드의 재정의(Overriding) ===
         또한, 하위클래스는 자신에게 필요한 변수들과 메소드를 추가적으로 정의할 수 있습니다. 그리고, 하위클래스는 상위클래스에서 정의된 메소드와 같은 이름, 같은 인자들을 갖는 새로운 메소드를 정의하여 상위클래스에서 상속되는 메소드를 재정의할 수 잇는데,
          * 인스턴스 변수, 클래스 변수, 그리고 클래스 메소드는 은닉될 수는 있어도 재정의 될 수는 없다.
          * private 접근지정자로 선언된 변수는 상속할 수 없고, 메소드는 상속 및 재정의 할 수 없다.
          * public 또는 protected 접근 지정자로 선언된 변수와 메소드는 상속할 수 있고, 메소드에 대해 재정의 할 수 있다.
  • Gof/Composite . . . . 14 matches
         드로우 에디터나 회로설계 시스템과 같은 그래픽 어플리케이션은 단순한 컴포넌트들의 차원을 넘어서 복잡한 도표들을 만들어내는데 이용된다. 사용자는 더 큰 컴포넌트들을 형성하기 위해 컴포넌트들을 그룹화할 수 있고, 더 큰 컴포넌트들을 형성하기 위해 또 그룹화 할 수 있다. 단순한 구현방법으로는 Text 나 Line 같은 그래픽의 기본요소들에 대한 클래스들을 정의한 뒤, 이러한 기본요소들에 대해 컨테이너 역할을 하는 다른 클래스에 추가하는 방법이 있다.
         Line, Rectangle, Text 와 같은 서브 클래스들은 (앞의 class diagram 참조) 기본 그래픽 객체들을 정의한다. 이러한 클래스들은 각각 선이나 사각형, 텍스트를 그리는 'Draw' operation을 구현한다. 기본적인 그래픽 구성요소들은 자식요소들을 가지지 않으므로, 이 서브 클래스들은 자식요소과 관련된 명령들을 구현하지 않는다.
         Picture 클래스는 Graphic 객체에 대한 포함관계를 정의한다. Picture 는 Picture의 children의 Draw 메소드를 호출하게끔 Draw 메소드를 구현한다. 그리고 Picture는 child와 관련한 명령어들을 알맞게 구현한다. Picture 인터페이스는 Graphic의 인터페이스를 형성하므로, Picture 객체는 다른 Pricture들을 재귀적으로 조합할 수 있다.
          * (optional) 재귀 구조에서의 해당 컴포넌트의 부모 클래스로 접근하기 위한 인터페이스를 정의하고, 적절하게 구현한다.
          * composition 의 기본 객체들의 행위를 정의한다.
          * children을 가지는 컴포넌트들을 위한 행위를 정의한다.
          * 기본 객체들과 복합 객체들로 구성된 클래스 계층 구조를 정의한다. (상속관계가 아님. 여기서는 일종의 data-structure의 관점) 기본 객체들은 더 복잡한 객체들을 구성할 수 있고, 계속적이고 재귀적으로 조합될 수 있다. 클라이언트 코드가 기본 객체를 원할때 어디서든지 복합 객체를 취할 수 있다.
          * 클라이언트를 단순하게 만든다. 클라이언트는 각각의 객체와 복합 구조체를 동등하게 취급할 수 있다. 클라이언트는 그들이 다루려는 객체가 Composite 인지 Leaf 인지 알 필요가 없다. 이러함은 composition 을 정의하는 클래스들에 대해 상관없이 함수들을 단순하게 해준다.
          * 새로운 종류의 컴포넌트들을 추가하기 쉽게 해준다. 새로 정의된 Composite 나 Leaf 의 서브클래스들은 자동적으로 현재의 구조들과 클라이언트 코드들과 작용한다. 클라이언트 코드들은 새로운 Component 클래스들에 대해서 수정될 필요가 없다.
         Equipment 클래스는 부분-전체 계층구조의 모든 equipment들을 위한 인터페이스를 정의한다.
         CompositeEquipment 는 sub-equipment 에 접근하고 관리하기 위한 명령들을 정의한다. 이 명령들인 Add 와 Remove는 _equipment 멤버에 저장된 equipment 의 리스트로부터 equipment 를 추가하거나 삭제한다. CreateIterator 명령은 이 리스트들을 탐색할 수 있는 iterator(구체적으로 ListIterator의 인스턴스) 를 리턴한다.
         우리는 간단한 방법으로 Cabinet 나 Bus 와 같은 다른 equipment 컨테이너를 정의할 수 있다. 이로서 우리가 개인용 컴퓨터에 equipment들을 조립하기 위해 (꽤 간단하게) 필요로 하는 모든 것들이 주어졌다.
         RTL Smalltalk 컴파일러 프레임워크 [JML92] 는 CompositePattern을 널리 사용한다. RTLExpression 은 parse tree를 위한 Component 클래스이다. RTLExpression 은 BinaryExpression 과 같은 서브클래스를 가지는데, 이는 RTLExpression 객체들을 자식으로 포함한다. 이 클래스들은 parse tree를 위해 composite 구조를 정의한다. RegisterTransfer 는 프로그램의 Single Static Assignment(SSA) 형태의 중간물을 위한 Component 클래스이다. RegisterTransfer 의 Leaf 서브클래스들은 다음과 같은 다른 형태의 static assignment 를 정의한다.
  • Gof/FactoryMethod . . . . 14 matches
         객체 생성을 위한 인터페이스를 정의하라, 그렇지만 sub 클래스들이 구현사항을 결정할수 있도록 하자. [[BR]]
         Framework(이하 Framework 그대로)는 객체사이의 관게를 정의하고, 유지하기 위하여 가상 클래스들을 사용한다. Framework는 종종 이러한 클래스들을 기반으로 객체의 생성에 책임을 진다.
         Application의 Sub 클래스는 Application상에서 추상적인 CreateDocument 수행을 재정의 하고, Document sub클래스에게 접근할수 있게 한다. Aplication의 sub클래스는 한번 구현된다. 그런 다음 그것은 Application에 알맞은 Document에 대하여 그들에 클래스가 특별히 알 필요 없이 구현할수 있다. 우리는 CreateDocument를 호출한다. 왜냐하면 객체의 생성에 대하여 관여하기 위해서 이다.
          * Factory Method가 생성하는 객체에 관한 인터페이스를 정의한다.
          * Procunt 형의 객체를 반환하는 Factory Method를 선언한다. Creator는 또한 기본 ConcreteProduct객체를 반환하는 factory method에 관한 기본 구현도 정의되어 있다.
         Creator는 factor method가 정의되어 있는 Creator의 sub클래스에게 의지한다 그래서 Creator는 CooncreteProduct에 적합한 인스턴스들을 반환한다.
         Factory method는 당신의 코드에서 만들어야한 Application이 요구하는 클래스에 대한 기능과 Framework가 묶여야할 필요성을 제거한다. 그 코드는 오직 Product의 인터페이스 만을 정의한다.; 그래서 어떠한 ConcreteProduct의 클래스라도 정의할수 있게 하여 준다.
          Ducument에제에서 Document클래스는 factory method에 해당하는, 자료를 열람하기 위한 기본 파일 다이얼로그를 생성하는 CreateFileDialog이 호출을 정의할수 있다. 그리고 Document sub클래스는 이러한 factory method를 오버 라이딩해서 만들고자 하는 application에 특화된 파일 다이얼로그를 정의할수 있다. 이러한 경우에 factory method는 추상적이지 않다. 하지만 올바른 기본 구현을 제공한다.
         Factory Method가 두게의 클래스의 상속 관계에서 어떻게 이러한 연결과정을 정의하는지 주목하라. 그것은 서로 고유의 기능을 부여시키는 작업을 한다.
          1. 두가지의 커다란 변수. Factory Method 패턴에서 두가지의 중요한 변수는 '''첫번째''' Creator 클래스가 가상 클래스이고, 그것의 선언을 하지만 구현이 안될때의 경이 '''두번째'''로 Creator가 concrete 클래스이고, factor method를 위한 기본 구현을 제공해야 하는 경우. 기본 구현이 정의되어 있는 가상 클래스를 가지는건 가능하지만 이건 일반적이지 못하다.
          Unidraw 그래픽 에디터 Framework는 디스크에 저장된 객체의 재 생성을 위하여 이러한 접근법을 사용하고 있다. Unidraw는 factory method를 이용한 Creator 클래스가 식별자를 가지고 있도록 정의해 두었다. 이 클래스 식별자는 적합한 클래스를 기술하고 있다. Unidraw가 객체를 디스크에 저장할때 이 클래스 식별자가 인스턴스 변수의 어떤것 보다도 앞에 기록 되는 것이다. 그리고 디스크에서 다시 객체들이 생성될때 이 식별자를 역시 가장 먼저 읽는다.
          Smalltalk 버전의 Document 예제는 documentClass 메소드를 Application상에 정의할수 있다. documentClass 메소드는 자료를 표현하기 위한 적당한 Document 클래스를 반환한다. MyApplication에서 documentClass의 구현은 MyDocument 클래스를 반환하는 것이다. 그래서 Application상의 클래스는 이렇게 생겼고
  • Gof/AbstractFactory . . . . 12 matches
         구체적인 클래스를 정의하지 않고서, 연관되거나 의존적인 객체집합을 만들수 있는 인터페이스를 제공한다.
         유저인터페이스 툴킷은 다양한 ["룩앤필"] 기준을 제공하도록 고려한다. 다른 룩앤필은 스크롤바, 윈도우, 그리고 버튼처럼 다른 모습과 행동양식의 유저 인터페이스 ["Widget"]을 제공한다. 이식가능한 룩앤필 기준을 위해서는, 개별적 룩앤필 Widget을 위한 어떤 애플리케이션은 ["하드-코드"] 가 아니어야 한다. 즉석으로 정의한 룩앤필 클래스는 나중에 룩앤필을 바꾸기 어렵게 만든다.
         이 문제는 기본적인 Widget의 인터페이스를 정의한 abstract WidgetFactory 클래스를 정의함으로써 해결할 수 있다. 또한 모든 종류의 Widget에는 추상클래스가 존재한다, 그리고 구체적인 서브 클래스는 Widget을 상속해서 룩앤필 기본을 정의한다. WidgetFactory의 인터페이스는 각각의 추상 Widget 클래스의 새로운 객체를 반환하는 기능을 가지고 있다. 클라이언트는 이런 기능을 수행해서 Widget 인스턴스를 만든다. 그러나 클라이언트는 사용하는 클래스의 구체적인 내용에 대해서는 신경쓰지 않는다. 이처럼 클라이언트는 일반적인(?) 룩앤필의 독립성에 의존한다.
         각각의 룩앤필에는 해당하는 WidgetFactory의 서브클래스가 있다. 각각의 서브클래스는 해당 룩앤필의 고유한 widget을 생성할 수 있는 기능이 있다. 예를 들면, MotifWidgetFactory의 CreateScrollBar는 Motif 스크롤바 인스턴스를 생성하고 반환한다, 이 수행이 일어날 동안 PMWidgetFactory 상에서 Presentation Manager 를 위한 스크롤바를 반환한다. 클라이언트는 WidgetFactory 인터페이스를 통해 개개의 룩앤필에 해당한는 클래스에 대한 정보 없이 혼자서 widget들을 생성하게 된다. 달리 말하자면, 클라이언트는 개개의 구체적인 클래스가 아닌 추상클래스에 의해 정의된 인터페이스에 일임하기만 하면 된다는 뜻이다.
          * 추상 객체(ProductObject)들을 만드는 기능을 위한 인터페이스를 정의한다.
          * 어떤 객체(ProductObject)를 위한 인터페이스를 정의한다.
          * 팩토리에 상응하는 객체(ProductObject)를 정의한다.
          * AbstractFactory에 의해서 정의된 인터페이스와 AbstractProduct 클래스만을 사용한다.
          InterViews 는 AbstractFactory 클래스들을 나타내기 위해서 'Kit'를 접미사로 사용한다. 이것은 WidgetKit과 DialogKit abstract factory 들을 명확한 ["룩앤필"] UI 객체를 위해서 정의한다. InterViews는 또한 서로 다른 복합 객체를 생성하는 LayoutKit 을 포함다. 예를 들면, 어떤 layout은 문서의 방향(인물이나 풍경)에 따른 서로 다른 복합 객체를 개념적으로 정렬한다.
          ET++[WGM88]은 다른 윈도우 시스템(예를 들면, X Windows 와 SunViews)간의 호환을 수행하기 위해서 Abstract Factory 패턴을 사용했다. 윈도우 시스템의 추상 base 클래스는 윈도우시스템의 자원 객체(예를 들면, MakeWindow, MakeFont, MakeColor)를 생성할 수 있는 인터페이스를 정의한다. Concrete 서브 클래스는 특정 윈도우 시스템에 인터페이스를 수행한다.
  • BigBang . . . . 11 matches
          * 정의 - 어떤 값을 담을수 있는것.
         #ifndef _HEADER_FILE_NAME_ // naming rule이 따로 있는진 모르겠음
         #define _HEADER_FILE_NAME_
         // header source
         #endif _HEADER_FILE_NAME_
          * 연산자 오버로딩 : C++에서는 operator를 이용해서 연산자에 특정 기능을 정의할 수 있다. C와 자바에서는 안 된다.
         이렇게 정의 해 놓은 상태에서
          * private 상속을 받게 되면, 클래스 내에서만 사용할 수 있고, 외부에서는 접근을 할 수 없다. 부모 클래스가 가상함수를 가지고 있고, 이것을 재정의 해서 사용할 수 있다.
          * tr1은 C++0x에서 제정된 것들이 tr1 namespace로 정의되어 있었는데 C++11이 나오면서 다 통합되었다고 한다.
         ==== 용어 정의 ====
          * 정의(Definition) - 구현이 들어 있는 경우.
          * 객체 - Effective C++에서는 넓은 범위로 객체를 정의. Premetive type도 객체로 보기로 함.
          * 생성자 - 특별한 정의 없이도 세 가지의 생성자가 정의된다.
          * 미정의 동작 - 터질지 안 터질지도 모름.
  • HardcoreCppStudy/첫숙제/ValueVsReference/변준원 . . . . 11 matches
         정의,선언,호출이 엄격히 구분되며 Compiler에 의해 처리되어 object file을 만들며 분할 Pro
         전처리계인 #define에 의해 정의되는 함수.
         일반함수에서 정의, 선언, 호출에 대해 예를 들면,
         double power (double x, int y) // 함수의 정의
          * 그리고 함수의 원형과 정의의 인자 이름을 같게 써 주는것이 가급적 좋을 것 같다. -영동
         함수의 원형이 있고 함수원형을 함수의 정의와 비교해보면 함수명,반환형, 매개변수형이 똑같습니다. 만일
         먼저 전역 변수란 것은 어떤 특정 함수의 바깥에서 정의된 변수는 전역 범위 규칙을 가지고 main()함수를
         void mytest() // 함수정의
         void test(int x, int y) // 함수 정의
         void test(int *x, int *y) // 함수 정의
         void test(int &x, int &y) // 함수 정의
  • MFC/HBitmapToBMP . . . . 11 matches
          BITMAPFILEHEADER header;
          header.bfType = 0x4D42;
          header.bfSize = size+sizeof(BITMAPFILEHEADER);
          header.bfReserved1 = header.bfReserved2=0;
          header.bfOffBits = sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+
          if (fwrite(&header,sizeof(BITMAPFILEHEADER),1,fp)!=0)
          *size = sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*palsize+width*h;
          lpbi = (BYTE *)lpvBits+sizeof(BITMAPINFOHEADER) +
          lpvBits->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
          lpvBits->bmiHeader.biWidth = w;
          lpvBits->bmiHeader.biHeight = h;
          lpvBits->bmiHeader.biPlanes = 1;
          lpvBits->bmiHeader.biBitCount = bit[type];
          lpvBits->bmiHeader.biCompression = BI_RGB;
          lpvBits->bmiHeader.biSizeImage = width*h;
          lpvBits->bmiHeader.biXPelsPerMeter = 0;
          lpvBits->bmiHeader.biYPelsPerMeter = 0;
          lpvBits->bmiHeader.biClrUsed = 1<<bit[type];
          lpvBits->bmiHeader.biClrImportant = 1<<bit[type];
  • AcceleratedC++/Chapter12 . . . . 10 matches
         일반적인 C++의 기본형 데이터처럼 클래스도 여러가지의 연산자를 재정의 함으로써 마치 값처럼 동작하도록 할 수 있다.
         상기의 클래스에는 Str(const char*) 타입의 생성자가 존재하기 때문에 이 생성자가 Str 임시 객체를 생성해서 마치 '''사용자 정의 변환(user-define conversion)'''처럼 동작한다.
         cin.operator>>(s); // istream 을 우리가 만든 객체가 아니기 때문에 재정의할 수 없다.
          위의 식 처럼 사용하기 위해서는 Str::size() 가 정의 되어야한다.
          이런 경우의 함수를 '''friend''' 로 정의 하여 해결하는 것이 가능하다.
          함수를 friend 로 정의하면 인자로 받은 형에대해서는 형의 접근자가 무시된다.
         만약 explicit 으로 Vec 클래스의 Vec<T>::Vec(size_type n) 을 정의 했다고 가정하고 다음의 코드를 보자
         클래스의 제작자들은 명시적으로 '''변환 연산자(conversion operator)'''를 정의하여 그 객체의 타입이 목적인 객체의 타입으로 변환하는 것을 정하는 것이 가능하다.
         변환 연산자의 모양은 '''operator 목적이 되는 타입의 이름'''으로 정의된다.
         그런데 istream 클래스는 istream::operator void*()를 정의하여 만약 입력에 문제가 있으면 void* 형으로 0을 그렇지 않은 경우에는 void* 를 리턴하게 함으로써 마치 bool 형처럼 사용하는 것이 가능하다.
  • AcceleratedC++/Chapter13 . . . . 10 matches
         또한 파생 클래스는 부모 클래스의 메소드를 재정의 하여서 자신에게 맞도록 수정하여 동작하는 것을 허용한다.
          return min(Core::grade(), thesis); // min()은 <algorithm>에 정의된 함수이다.
          '''대신 virtual 키워드로 지정된 함수는 파생 클래스에서 반드시 재정의 되어야한다는 특징이 있다.'''
          virtual std::istream& read(std::istream&); // virtual 키워드로 정의된 함수는 반드시 재정의되어야한다.
         || * 읽어들일 요소들을 저장하는 vector의 정의 [[HTML(<BR/>)]] * 레코드를 읽어들일 임시 지역 변수의 정의 [[HTML(<BR/>)]] * read 함수 [[HTML(<BR/>)]] * grade 함수 ||
         마지막 2가지 문제는 virtual로 정의된 멤버함수를 통해서 해결. 처음의 2가지를 해결하는 방법은 2가지가 존재하며 13.3~13.4절에 걸쳐서 설명한다.
          유효한 표현이기는 하지만 g의 Core클래스에서 정의된 부분 만이 저장이 된다.
          만약 이런 함수를 virtual 로 정의하고 싶다면 사용하지 않는 인자를 디폴트 인자로 지정해서 만들면 된다.
  • Gof/Facade . . . . 10 matches
         서브시스템의 인터페이스집합에 일관된 인터페이스를 제공한다. Facade는 고급레벨의 인터페이스를 정의함으로서 서브시스템을 더 사용하기 쉽게 해준다.
         이러한 클래스들로부터 클라이언트들을 보호할 수 있는 고급레벨의 인터페이스를 제공하기 위해 컴파일러 서브시스템은 facade 로서 Compiler class를 포함한다. 이러한 클래스는 컴파일러의 각 기능성들에 대한 단일한 인터페이스를 정의한다. Compiler class는 facade (원래의 단어 뜻은 건물의 전면. 외관, 겉보기..) 로서 작용한다. Compiler class는 클라이언트들에게 컴파일러 서브시스템에 대한 단일하고 단순한 인터페이스를 제공한다. Compiler class는 컴파일러의 각 기능들을 구현한 클래스들을 완벽하게 은폐시키지 않고, 하나의 클래스에 포함시켜서 붙인다. 컴파일러 facade 는저급레벨의 기능들의 은폐없이 대부분의 프로그래머들에게 편리성을 제공한다.
          * 서브시스템에 계층을 두고 싶을 때. 각 서브시스템 레벨의 entry point를 정의하기 위해 facade를 사용하라. 만일 각 서브시스템들이 서로 의존적이라면 서브시스템들간의 대화를 각 시스템간의 facade로 단일화 시킴으로서 그 의존성을 단순화시킬 수 있다.
          - Facade 객체에 의해 정의된 작업을 처리한다.
         Compiler 서브시스템은 BytecodeStream 클래스를 정의한다. 이 클래스는 Bytecode 객체의 스트림부를 구현한다. Bytecode 객체는 머신코드를 구체화하는 bytecode를 캡슐화한다. 서브시스템은 또한 Token 클래스를 정의하는데, Token 객체는 프로그램 언어내의 token들을 캡슐화한다.
         parser tree는 StatementNode, ExpressionNode와 같은 ProgramNode의 subclass들의 인스턴스들로 이루어진다. ProgramNode 계층 구조는 Composite Pattern의 예이다. ProgramNode는 program node 와 program node의 children을 조작하기 위한 인터페이스를 정의한다.
         ProgramNode의 각 subclass들은 ProgramNode의 child인 ProgramNode 객체를 호출하기 위해 Traverse operation을 구현한다. 매번 각 child는 children에게 같은 일을 재귀적으로 수행한다. 예를 들어, ExpressionNode는 Traverse를 다음과 같이 정의한다.
         ET++ application framework [WGM88] 에서, application은 run-time 상에서 application의 객체들을 살필 수 수 있는 built-in browsing tools를 가지고 있다.이러한 browsing tools는 "ProgrammingEnvironment'라 불리는 facade class를 가진 구분된 서브시스템에 구현되어있다. 이 facade는 browser에 접근 하기 위한 InspectObject나 InspectClass같은 operation을 정의한다.
         Mediator 는 존재하는 class들의 기능들을 추상화시킨다는 점에서 Facade와 비슷하다. 하지만 Mediator의 목적은 정해지지 않은 동료클래스간의 통신을 추상화시키고, 해당 동료클래스군 어디에도 포함되지 않는 기능들을 중앙으로 모은다. Mediator의 동료클래스들은 Mediator에 대한 정보를 가지며 서로 직접적으로 통신하는 대신 mediator를 통해 통신한다. 대조적으로 facade는 단지 서브시스템들을 사용하기 편하게 하기 위해서 서브시스템들의 인터페이스를 추상화시킬 뿐이다. facade는 새로운 기능을 새로 정의하지 않으며, 서브시스템 클래스는 facade에 대한 정보를 가질 필요가 없다.
  • Gof/Mediator . . . . 10 matches
         MediatorPattern은 객체들의 어느 집합들이 interaction하는 방법을 encapsulate하는 객체를 정의한다. Mediator는 객체들을 서로에게 명시적으로 조회하는 것을 막음으로서 loose coupling을 촉진하며, 그래서 Mediator는 여러분에게 객체들의 interactions들이 독립적으로 다양하게 해준다.
         게다가 하나의 시스템에 많은 객체들이 참여하는 것은 어떤 의미있는 방법으로 시스템의 행위를 바꾸는 것을 어렵게 한다. 왜냐하면, 행위는 많은 객체들 사이로 분산되어 졌기 때문이다. 결론적으로 당신은 아마 그런 시스템의 행위를 customize하기 위해서 수많은 subclass들을 정의해야 할 것이다.
         DialogDirect는 다이얼로그의 전체 행위를 정의한 추상 클래스이다. client들은 화면에 다이얼로그를 나타내기 위해서 ShowDialog 연산자를 호출한다. CreateWidgets는 다이얼로그 도구들을 만들기 위한 추상 연산자이다. WidgetChanged는 또 다른 추상 연산자이며, 도구들은 director에게 그들이 변했다는 것을 알려주기 위해서 이를 호출한다. DialogDirector subclass들은 CreateWidgets을 적절한 도구들을 만들기 위해서 override하고 그리고 그들은 WidgetChanged를 변화를 다루기 위해서 override한다.
          * 어떤 객체들의 집합이 잘 정의되었지만, 복잡한 방법으로 통신할 때. interconnection의 결과는 구조화되지 못하고 이해를 어렵게 한다.
          Colleague 객체들과 통신을 위해서 인터페이스를 정의한다.
         우리는 DialogDirector를 Motivation에서 보았던 것처럼 font dialog를 구현하기 위해서 사용할 것이다. 추상 클래스 DialogDirector는 director들을 위한 interface를 정의 하고 있다.
         DialogDirector의 subclass들은 적절한 widget작동하기 위해서 WidgetChanged를 override해서 이용한다. widget은 자신의 referece를 WidgetChanged에 argument로서 넘겨줌으로서 어떤 widget의 상태가 바뀌었는지를 director로 하여금 알게해준다. DialogDirector의 subclass들은 CreateWidget 순수 추상 연산자를 다이얼로그에 widget들을 만들기 위해 재정의한다.
         FontDialogDirector는 그것이 display하는 widget을 추적한다. 그것은 widget들을 만들기 위해서 CreateWidget을 재정의하고 그것의 reference로 그것들을 초기화한다.
         윈도우용 Smalltalk/V의 application구조는 mediator 구조에 가반을 두고 있다.[LaL94] 그런 환경에서 application은 윈도우를 pane들의 모음으로 구성하고 있다. library는 몇몇의 이미 정의된 pane들을 가지고 있다. 예를 들자면 TextPane, ListBox, Button등등이 포함된다. 이러한 pane들은 subclassing없이 이용될 수 있다. Application 개발자는 단지 inter-pane coordination할 책임이 있는 ViewManager만 subclassing할 수 있다. ViewManage는 Mediator이고 각각의 pane들은 자신의 owner로서 단지 자신의 ViewManager를 알고 있다. pane들은 직접적으로 서로 조회하지 않는다.
         SmallTalk/V는 Pane-ViewManager 통신을 위해 event 기법을 사용하고 있다. 어떤 pane은 어떤 정보를 mediator로 부터 얻기 원하거나 어떤 의미있는 일이 발생해서 이를 mediator에게 알려주기 위해서 event를 생성한다. 하나의 event는 그 event를 식별하는 symbol을 정의한다. 그 event를 다루기 위해서 ViewManager는 pane에 method selector를 등록한다. 이 selector는 event의 handler이다. 이것은 event가 발생한 때면 언제든지 수행될 것이다.
  • Gof/State . . . . 10 matches
         StatePattern 의 주된 아이디어는 네트워크 커넥션의 상태를 나타내는 TCPState 추상클래스를 도입하는데에 있다. TCPState 클래스는 각각 다른 상태들을 표현하는 모든 클래스들에 대한 일반적인 인터페이스를 정의한다. TCPState의 서브클래스는 상태-구체적 행위들을 구현한다. 예를 들어 TCPEstablished 는 TCPConnection 의 Established 상태를, TCPClosed 는 TCPConnection 의 Closed 상태를 구현한다.
          * 클라이언트들이 원하는 인터페이스를 정의한다.
          * 현재 상태를 정의하는 ConcreteState 서브클래스의 인스턴스를 가진다.
          * Context 의 특정 상태와 관련된 행위들을 캡슐화 하기 위한 관련 인터페이스를 정의한다.
         일단, 우리는 TCPConnection 클래스를 정의한다. TCPConnection 은 데이터를 전달하고 상태 전환을 위한 request를 다루는 인터페이스를 제공한다.
         TCPConnection 은 상태-구체적 request들으 TCPState 인스턴스인 _state 에 위임한다. TCPConnection 은 또한 이 변수를 새로운 TCPState 로 전환하는 명령을 제공한다. TCPConnection 의 생성자는 _state를 TCPClosed 상태로 초기화한다. (후에 정의된다.)
         상태-구체적 작업들이 수행된 뒤, 이 명령들은 TCPConnection 의 상태를 전환하기 위해 ChangeState 명령을 호출한다. TCPConnection 은 TCP 커넥션 프로토콜에 대해 모른다. TCP에 대한 각각의 상태전환과 행동들을 정의하는 것은 TCPState 서브클래스들이다.
         툴-구체적 행위를 구현하는 서브클래스를 정의하는 곳에 대해 Tool 추상 클래스를 정의할 수 있다. drawing editor 는 currentTool 객체를 가지며, request를 이 객체에 위임시킨다. 사용자가 새 tool를 골랐을 때, drawing editor 는 행위를 전환해야 하므로 따라서 이 객체는 교체된다.
         이 방법은 HowDraw [Joh92]와 Unidraw [VL90] drawing editor 프레임워크에 이용되었다. 이는 클라이언트로 하여금 새로운 종류의 tool들을 쉽게 정의할 수 있도록 해준다. HowDraw 에서 DrawingController 클래스는 currentTool 객체에게 request를 넘긴다. UniDraw에서는 각각 Viewer 와 Tool 클래스가 이와 같은 관계를 가진다. 다음의 클래스 다이어그램은 Tool 과 DrawingController 인터페이스에 대한 설명이다.
  • JavaStudy2004/오버로딩과오버라이딩 . . . . 10 matches
          기반 클래스에 이미 존재하는 함수를 파생 클래스에서 다시 선언하고, 구현하는 것을 함수를 재정의(Overriding)한다고 한다. 기반 클래스에 이미 존재하는 함수를 파생 클래스에서 재정의 하면, 파생 클래스에서는 기반 클래스에서 정의된 함수가 무시되고, 파생 클래스에 새로 정의된 함수가 동작하게 된다.
          예를 들어 People클래스에 move(int aX, int aY){this.position.x += aX;this.position.y += aY;}라는 함수가 있다. 그리고 People클래스를 상속 받은 Student이라는 클래스가 있다. 근데 '학생'은 좀 멍청해서 반대로 움직인다. 그렇다면 상속받은 move함수를 재정의 해줘야한다. move(int aX, int aY){this.position.x -= aX;this.position.y -= aY;}
          함수를 재정의 할 때는 기반 클래스에 만들어져 있는 함수와 파생 클래스에서 재정의한 함수의 함수명과 매개변수의 타입이 완전히 같아서 서로 구별할 수 없어야 한다. 만약, 재정의 하려고 함수를 만들었는데 이것이 기반 클래스에 있는 함수와 매개변수의 타입이 조금이라도 다르면, 이것은 재정의가 아니라 오버로딩으로 간주된다.
          오버로딩이란 하나의 함수명에 비슷한 기능을 하면서 넘겨 받는 매개변수가 서로 다른 함수를 두개 이상 정의하는 것을 말한다.
  • JavaStudy2004/클래스상속 . . . . 10 matches
          하위클래스는 상위클래스로부터 모든 메소드와 변수들을 상속받는다.상위클래스가 필요한 행위를 정의했으면 재정의하거나 다른 클래스로부터 복사할 필요도 없다. 상속받은 클래스는 자동적으로 상위클래스의 행위를 자동적으로 가지게 된다.자바 클래스 계층의 제일 위에는 Object라는 클래스가 있다. 모든 클래스는 이 클래스로부터 상속을 받는다. 각 클래스들은 특별한 목적에 맞추어 특정 정보를 추가적으로 가지게 되는 것이다.
          자바 클래스를 새로 작성할 때 대부분 다른 클래스가 가지는 정보와 몇 가지의 추가적인 정보를 가지게 할 것이다. 예를 들어 새로운 Button을 만들려고 한다면 클래스에 Button으로부터 상속받을 수 있도록 정의하기만 하면 된다. 따라서 Button과 다른 특징에 대해서만 신경 쓰면 된다.
          인스턴스 변수의 경우 클래스에 새로운 변수를 만들었다면, 현재 클래스의 변수와 상위클래스에서 정의된 모든 변수를 가질수 있다. 따라서 모든 클래스들의 조합으로 현재의 객체를 위한 템플릿을 형성하게되고 필요한 정보를 채우는 것이다.
          메소드도 비슷하게 작동한다.새로운 객체는 상위클래스의 모든 메소드 이름을 액세스한다. 그러나 메소드가 호출될 때마다 동적으로 메소드 정의가 선택된다. 특정 객체에 대한 메소드를 호출하면 자바는 제일 먼저 그객체 클래스의 메소드 정의를 살펴본다. 그 객체 클래스에 정의되지 않았다면 그 메소드 정의를 발견할 때까지 상위클래스를 찾게될 것이다.
          만일 하위클래스에서 상위클래스의 메소드의 이름과 인자의 타입을 똑같이 가진 메소드를 정의한다고 하면 어떻게 되는가? 이것은 계층적으로 아래에 있는 것이 먼저 실행되게 되어 있다. 이러한 방식으로 임의로 상의클래스의 메소드를 감추고 하위클래스에 필요한 메소드를 정의할 수 있다. 바로 중복(overriding)이라고 부르는 것이다.
  • MFC/MessageMap . . . . 10 matches
         = 사용자 정의 메시지 발생시키기 =
          * 사용자 정의 메시지란 : 특정한 시점에서 메시지를 보내서 다른 객체의 함수를 실행 시킬수 있다. 굉장히 유용하다. 일종의 콜백 함수 역할을 수행할 수 있는것이다. 즉 어떠한 다른 클래스에서 특정 시점에서 다른 객체의 특정 함수를 실행시켜야 할 필요가 있을때 사용하면 유용하고, 소켓 프로그래밍에서 자주 사용된다.
          * 사용 예 : 어떤 클래스가 view 클래스의 멤버 변수이다. 해당 클래스는 파일을 다운로드 받는 클래스인데 해당 클래스에서 다운로드가 끝났을 경우 view에 있는 serialize 함수를 실행해야 한다. 허나 현재 view클래스가 그 해당 클래스를 멤버로 가지고 있기에 include 로 해당 클래스에서 view 클래스를 포함할 수도 없고, 또 view 클래스의 현재 실행되는 객체를 얻을 방법도 마땅히 없다. 이때 해당 클래스에서 다운로드가 끝난 시점에서 다운로드가 끝났다는 메시지를 발생시켜서 view에 있는 serialize 함수를 실행시킬 수 있다. 이게 바로 사용자 정의 메시지 발생을 이용한 사례..
         #define UM_ACCEPTCLIENT (WM_USER+10) // 사용자 정의 메시지를 정의 한다.
          afx_msg LRESULT OnAcceptClient(WPARAM wParam, LPARAM lParam); // 이부분에 이렇게 정의한 메시지를 실행할 함수를 넣어준다. 함수명은 하고 싶은데로..
          // 메시지 맵이 정의된 부분이다.
          DECLARE_MESSAGE_MAP() // 메시지 맵이 정의된 클래스에는 반드시 이 매크로 함수가 포함되어야 한다.
          클래스의 정의 부분에 DECLARE_MESSAGE_MAP()을 포함했다면 그 클래스의 구현 부분에는 반드시 BEGIN_MESSAGE_MAP(), END_MESSAGE_MAP()매크로가 반드시 추가되어야 한다. 이 부분에서는 WM_COMMAND 형태를 갖는 메시지 만을 처리하고 있다.
          작게는 CAboutDlg 도 상기의 조건에 맞추어져서 정의되어 있음을 알 수 있다.
  • MoreEffectiveC++/Techniques2of3 . . . . 10 matches
         Reference counting(이하 참조 세기, 단어가 길어 영어 혼용 하지 않음)는 같은 값으로 표현되는 수많은 객체들을 하나의 값으로 공유해서 표현하는 기술이다. 참조 세기는 두가지의 일반적인 동기로 제안되었는데, '''첫번째'''로 heap 객체들을 수용하기 위한 기록의 단순화를 위해서 이다. 하나의 객체가 만들어 지는데, new가 호출되고 이것은 delete가 불리기 전까지 메모리를 차지한다. 참조 세기는 같은 자료들의 중복된 객체들을 하나로 공유하여, new와 delete를 호출하는 스트레스를 줄이고, 메모리에 객체가 등록되어 유지되는 비용도 줄일수 있다. '''두번째'''의 동기는 그냥 일반적인 생각에서 나왔다. 중복된 자료를 여러 객체가 공유하여, 비용 절약 뿐아니라, 생성, 파괴의 과정의 생략으로 프로그램 수행 속도까지 높이고자 하는 목적이다.
         이러한 정의를 모아모아 뼈대를 만들면 다음과 같다.
         이러한 개략도는 다음과 같은 클래스로 정의 되어 진다.
         휴, 우리는 지금까지 흥미로운 클래스에 관해서 논의 했는데, 이번에는 Widget같은 이미 정의되어 있는 클래스를 전혀 건드리지 않고, 참조 세기를 적용 시킬수는 없을까? 그러니까. 라이브러리를 고치지 않고 말이다. Widget에 참조 세기를 적용 시켜야 하는데, 앞의 방법 처럼 RCObject를 Widget이 상속 시킬 방법은 전혀 없다. 그래서 RCPtr도 적용할수 없다. 방법이 없는 걸까?
         다차원의 배열은 C++에 뿐아니라. 다른 언어에서도 유용하다. 그래서 다차원 배열은 최근에 이것들에 지원하는 방법에 대한 중요성이 대두되고 있다. 보통의 방법은 C++에서 표준 중에 하나이다.(필요로한 객체를 표현하기 위해 클래스를 만든다. 하지만 알맞게 구현하기가 어렵다. ) 바로 이차원 배열에 대한 템플릿을 정의할수 있다.
         원하는데로 배열을 정의할수 있다.
         그렇지만 Array2D상에 인텍스에 관한인자를 어떻게 정의하고, 사용할까?
         s1[5]의 표현은 CharProxy 객체를 반환한다. s1[5]가 output(<<) 연산자에 대하여 객체에 대하여 정의된것은 없다. 그래서 당신의 컴파일러는 operator<<에 적용할수 있는 암시적(implicit) 형변환을 찾는다. 컴파일러는 그래서 프록시 클래스 내부에 선언되어 있는 char()를 찾을수 있다. 컴파일러는 이(char) 형변환을 수행하기를 요청하고, 결과적으로 CharProxy는 문자로 변환되어서 출련되어 진다. 다시 말하지만, 이것은 CharProxy-to-char 로의 형변환이 CharProxy내부에 암시적(implicit) 형변환이 선언되어 있기 때문이다.
         Item 29에 나와있는, non-const String::operator[]과 비교해보면 인상적인 느낌이 올것이다. 이것은 예측할수 있다. Item29에서는 이러한 쓰기와 읽기를 구분하지 못해서 무조건 non-const operator[]를 쓰기로 취급했다. 그리고, CharProxy는 String에 대한 자유로운 접근을 위해 friend로 선언했기에 문자값의 복사 과정의 수행이 가능하다.
         관계있는 문제로 프록시를 통한 실제 겍체의 호출에서 일어날수 있는데, 할수 없는것에 관한 모호성이다. 예를들어서, 유리수 배열을 참조세기로 구현했다고 해보자. 이것을 Rational 클래스로 정의하고 Array 템플릿을 사용한다. 코드는 다음과 같다.
  • 2학기파이선스터디/함수 . . . . 9 matches
         == 함수의 정의와 호출 ==
          * 내장 영역(built-in scope) - 파이썬 언어 자체에서 정의한 내용
          h = a + 10 # h는 지역(새로 정의했으므로)
         g, h는 함수 외부에서 정의되었으므로 전역, a,b는 함수 내부에서만 사용되는 지역 변수이다.
         함수 G에서 참조하는 x는 지역(함수 G안), 전역(모듈), 내장 영역만 찾게 되므로 함수 F에 정의된 x가 참조되지 않는다.(x = 2)
         === 정의되지 않은 키워드 인수 처리하기 ===
         미리 정의되어 있지 않은 키워드 인수를 받으려면 함수 정의할때 마지막에 **kw형식으로 기술한다.
         || 구분 || def로 정의되는 함수 || lambda 함수 ||
  • AcceleratedC++/Chapter9 . . . . 9 matches
         C++은 클래스 타입과 같은 사용자가 정의한 어플리케이션 고유의 타입을 정의할 수 있는 많은 기능은 지원한다.
          * Student_info의 멤버함수이므로 Student_info 객체를 정의할 필요도 인자로 넘길 필요도 없다.
          이전에 사용되었던 compare와 같은 함수를 어떤식으로 정의해야 할 것인가?
          read, grade를 정의함으로써 Student_info에 직접적인 접근을 하지 않고도 데이터를 다룰 수 있었다.
          name 멤버 함수와 같이 클래스 내부에 정의를 하는 것은 inline으로 함수를 정의하는 것도 동일한 효과를 가진다. 이렇게 멤버변수에 접근을 위해서 만들어지는 함수를 통칭 '''접근함수(accessor function)'''이라고 부른다.
          객체가 어떤게 초기화되는지를 정의하는 특별한 멤버 함수이다. 명시적인 호출을 지원하지 않으며, 오로지 객체가 생성될 때에만 실행된다.
          * 내장 타입 객체인 경우 값지정 초기화시에는 0으로 디폴트 초기화 시에는 정의되지 않은 값으로 세팅된다.
  • Gof/Command . . . . 9 matches
         때때로 MenuItem은 연속된 명령어들의 일괄수행을 필요로 한다. 예를 들어서 해당 페이지를 중앙에 놓고 일반크기화 시키는 MenuItem은 CenterDocumentCommand 객체와 NormalSizeCommand 객체로 만들 수 있다. 이러한 방식으로 명령어들을 이어지게 하는 것은 일반적이므로, 우리는 복수명령을 수행하기 위한 MenuItem을 허용하기 위해 MacroCommand를 정의할 수 있다. MacroCommand는 단순히 명령어들의 sequence를 수행하는 Command subclass의 구체화이다. MacroCommand는 MacroCommand를 이루고 있는 command들이 그들의 receiver를 정의하므로 명시적인 receiver를 가지지 않는다.
          - Receiver 객체와 action 묶음을 정의한다.
         여기 보여지는 C++ code는 Motivation 섹션의 Command 크래스에 대한 대강의 구현이다. 우리는 OpenCommand, PasteCommand 와 MacroCommand를 정의할 것이다. 먼저 추상 Commmand class 는 이렇다.
         undo 할 필요가 없고, 인자를 요구하지 않는 단순한 명령어에 대해서 우리는 command의 receiver를 parameterize하기 위해 class template를 사용할 수 있다. 우리는 그러한 명령들을 위해 template subclass인 SimpleCommand를 정의할 것이다. SimpleCommand는 Receiver type에 의해 parameterize 되고
         MacroCommand는 부명령어들의 sequence를 관리하고 부명령어들을 추가하거나 삭제하는 operation을 제공한다. subcommand들은 이미 그들의 receiver를 정의하므로 MacroCommand는 명시적인 receiver를 요구하지 않는다.
         아마도 CommandPattern에 대한 첫번째 예제는 Lieberman 의 논문([Lie85])에서 나타났을 것이다. MacApp [App89] 는 undo가능한 명령의 구현을 위한 command의 표기를 대중화시켰다. ET++[WGM88], InterViews [LCI+92], Unidraw[VL90] 역시 CommandPatter에 따라 클래스들을 정의했다. InterViews는 각 기능별 명령에 대한 Action 추상 클래스를 정의했다. 그리고 action 메소드에 의해 인자화됨으로서 자동적으로 command subclass들을 인스턴스화 시키는 ActionCallback 템플릿도 정의하였다.
  • JavaScript/2011년스터디/3월이전 . . . . 9 matches
          * 참가자 : [김수경], [박정근], [서지혜], [윤종하], [정의정]
         || [정의정] || O || X(공사) |||||||||||| ''중간에 빠짐'' ||
          * 리터럴의 정의
          * 클로저의 정의와 사용...ㅠ
          * 최상위레벨의 범위와 함수의 정의
          이곳에서는 함수의 정의가 불가능 하다.
          * 프로토타입의 정의와 사용 상속부분이 다른 언어와는 다르다.
          * 클로저의 정확한 정의를 알고싶다. 유효범위와 관계있다는 것은 알았음
          * Argument는 실행중인 함수의 정보를 정의한다 : 함수에 넘기는 파라메터가 유동적임..
  • JavaStudy2003/두번째과제/곽세환 . . . . 9 matches
          특정 종류의 객체들에 대해 일반적으로 적용할 수 있는 변수와 메소드를 정의하고 있다.
          연산자 다중 정의(overloading),함수 다중 정의,함수 재정의(overriding)등이 있다.
         나.클래스정의 및 인스턴스(객체) 생성
         클래스 정의
         라.메소드의 다중정의
         함수다중정의:같은 이름의 함수가 여러개 존재하는 것
         연산자다중정의:같은 이름의 연산자가 클래스에 따라 다른 연산을 수행할 수 있도록 하는 것
  • AcceleratedC++/Chapter14 . . . . 8 matches
          상기의 정의에서 *, -> 연산자를 참조형, 포인터형으로 리턴하게 함으로써 자동으로 파생객체에 대한 동적바인딩이 가능해 진다.
          '''Student_info::read 의 재정의'''
         기본 인터페이스는 이전의 Str과 동일하지만 자료구조가 Ptr< Vec<char> > 형으로 정의되었기 때문에 전체적인 메소드의 세부 구현이 많이 변경되었다. 그리고 Ptr템플릿으로 자료구조를 다룸으로서 Str클래스가 동일한 객체를 가리킬 수 있는 기능을 제공한다.
          이 구현을 위해서는 Vec::clone()가 정의되어 있어야하지만, 이 함수를 정의하게 될 경우 원래 Vec의 구현이 표준 함수 vector의 구현의 부분이라는 가정에서 위배되기 때문에 추가할 수는 없다.
          template<>를 사용하면 특정 인자 타입에 대한 특정 템플릿 함수의 버전을 정의한다.
          || * Ptr<T>::make_unique()를 사용하지 않는다면 T::clone은 불필요 [[HTML(<BR/>)]] * Ptr<T>::make_unique를 사용한다면 T::clone가 있다면 T::clone을 사용할 것이다. [[HTML(<BR/>)]] * Ptr<T>::make_unique를 사용한다면 T::clone가 미정의되었다면 clone<T>를 정의해서 원하는 바를 얻을 수 있다. ||
  • AspectOrientedProgramming . . . . 8 matches
          최근 몇 년에 걸쳐 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 절차적 방법론을 거의 완벽히 대체하며 프로그래밍 방법론의 새 주류로 떠오르게 되었다. 객체지향적 방식의 가장 큰 이점 중 하나는 소프트웨어 시스템이 여러 개의 독립된 클래스들의 집합으로 구성된다는 것이다. 이들 각각의 클래스들은 잘 정의된 고유 작업을 수행하게 되고, 그 역할 또한 명백히 정의되어 있다. 객체지향 어플리케이션에서는 어플리케이션이 목표한 동작을 수행하기 위해 이런 클래스들이 서로 유기적으로 협력하게 된다. 하지만 시스템의 어떤 기능들은 특정 한 클래스가 도맡아 처리할 수 없다. 이들은 시스템 전체를 들쑤시며 해당 코드들을 여러 클래스들에 흩뿌려 놓는다. 이런 현상을 횡단적(cross-cutting)이라 표현한다. 분산 어플리케이션에서의 락킹(locking, 동기화) 문제, 예외 처리, 로깅 등이 그 예이다. 물론 필요한 모든 클래스들에 관련 코드를 집어 넣으면 해결될 문제이다. 하지만 이런 행위는 각각의 클래스는 잘 정의된(well-defined) 역할만을 수행한다는 기본 원칙에 위배된다. 이런 상황이 바로 Aspect-Oriented Programming (AOP)이 잉태된 원인이 되었다.
          AOP에서는 aspect라는 새로운 프로그램 구조를 정의해 사용한다. 이는 쉽게 struct, class, interface 등과 같이 특정한 용도의 구조라 생각하면 된다. Aspect 내에는 프로그램의 여러 모듈들에 흩어져 있는 기능(하나의 기능이 여러 모듈에 흩어져 있음을 뜻한다)을 모아 정의하게 된다. 전체적으로, 어플리케이션의 각각의 클래스는 자신에게 주어진 기능만을 수행하고, 추가된 각 aspect들이 횡단적인 행위(기능)들을 모아 처리하며 전체 프로그램을 이루는 형태가 만들어진다.
          이해를 돕기 위해, 그리고 설명을 쉽게 하기 위해 예를 들어가며 AOP 개념을 설명토록 하겠다. 어플리케이션의 여러 스레드들이 하나의 데이터를 공유하는 상황을 가정해보자. 공유 데이터는 Data라는 객체(Data 클래스의 인스턴스)로 캡슐화되어 있다. 서로 다른 여러 클래스의 인스턴스들이 하나의 Data 객체를 사용하고 있으나 이 공유 데이터에 접근할 수 있는 객체는 한 번에 하나씩이어야만 한다. 그렇다면 어떤 형태이건 동기화 메커니즘이 도입되어야 할 것이다. 즉, 어떤 한 객체가 데이터를 사용중이라면 Data 객체는 잠겨(lock)져야 하며, 사용이 끝났을 때 해제(unlock)되어야 한다. 전통적인 해결책은 공유 데이터를 사용하는 모든 클래스들이 하나의 공통 부모 클래스(“worker” 라 부르도록 하자)로부터 파생되는 형태이다. worker 클래스에는 lock()과 unlock() 메소드를 정의하여 작업의 시작과 끝에 이 메소드를 호출토록 하면 된다. 하지만 이런 형태는 다음과 문제들을 파생시킨다.
          AOP에서는 이런 형태의 문제를 해결하기 위해 새로운 형태의 접근 방법을 제기하고 있다. AOP는 새로 도입된 프로그램 구조를 통해 시스템에 횡단되어 있는 기능들을 정의해 처리하도록 했다. 이 새로운 구조를 우리는 aspect라 부른다.
          특정 메소드(ex. 객체 생성 과정 추적) 호출을 로깅할 경우 aspect가 도움이 될 수 있다. 기존 방법대로라면 log() 메소드를 만들어 놓은 후, 자바 소스에서 로깅을 원하는 메소드를 찾아 log()를 호출하는 형태를 취해야할 것이다. 여기서 AOP를 사용하면 원본 자바 코드를 수정할 필요 없이 원하는 위치에서 원하는 로깅을 수행할 수 있다. 이런 작업 모두는 aspect라는 외부 모듈에 의해 수행된다. 또 다른 예로 예외 처리가 있다. Aspect를 이용해 여러 클래스들의 산재된 메소드들에 영향을 주는 catch() 조항(clause)을 정의해 어플리케이션 전체에 걸친 지속적이고 일관적으로 예외를 처리할 수 있다.
  • IDL . . . . 8 matches
         [CORBA] 의 경우 분산된 네트워크상에 따로 위치한 객체 간의 투명한 접근을 제공하는 서로 간의 약속이 필요하다. 이런 약속을 정의할 때 특정 언어([C], [C++], [Java] 등)에 의존하지 않는 인터페이스 정의 언어가 필요하게 되었는데, 그것이 바로 IDL(Interface Definition Language)이다. 서버와 클라이언트가 서로 통신을 하기 위해서 서버는 클라이언트에게 제공하는 서비스 인터페이스를 IDL 로 정의하게 되며, 클라이언트는 이런 인터페이스 정보를 활용하여 서비스를 활용하게 되는 것이다. CORBA 프로그램을 개발하기 위해서는 가장 먼저 IDL 을 정의해야 하는데, IDL 은 구현에 대한 정보는 포함하고 있지 않아 정의된 IDL 을 원하는 언어로
         물론, 인터페이스를 정의하는 방법이 IDL 만 있는 것은 아니다. [Visibroker] 의 경우 [Caffeine] 이라는 것을 이용하면 IDL 을 사용하지 않아도 되며, Java 의 RMI 나 RMI-IIOP 를 이용해면 IDL 을 몰라도 인터페이스를 정의할 수 있다. 하지만, IDL 은 OMG에서 규정하고 있는 인터페이스 정의 언어의 표준이고 개발자가 익히기에 어렵지 않은 만큼 CORBA 프로그램을 할 때는 꼭 IDL 을 사용하도록 하자.
  • MoreEffectiveC++/Techniques1of3 . . . . 8 matches
         // 클래스의 static의 정의(definition,비슷하게 초기값 구현)은 반드시 해야 한다.
         // 클래스의 static의 정의(definition,비슷하게 초기값 구현)은 반드시 해야 한다.
         그렇지만 C++언어 상에서 이런 보장에 대한 스펙이 정의 되어 있지 않다 그래서 어떤 컴파일러는 다음과 같이 부를수도 있다.
         실제로 세가지 생각이 이러한 디자인을 매달리지 못하게 한다. '''첫번째는''' 전역 공간에 어떤것을 정의하는 극도로 피하려는 경향이다. operator enw나 operator delete같은 미리 정의된 함수에 대하여 특별하게 고친다는 것은 더 그럴 것이다. '''둘째로''' 효율에 관한 문제이다. 모든 메모리 할당에서 overhead가 발생한다는 의미인데, 이것을 유지하겠는가? '''마지막으로''' 걱정되는 것은 평범하지만 중요한 것으로 isSafeToDelete이 모든 수행에 관하여 적용되는 적용하는 것이다. 하지만 이것이 근본적으로 불가능하다고 보이기 때문이다. 조금더 이약 해보자면, 다중 상속이나, virtual base class가 가지는 여러게의 주소들, 이 주소들 때문에 isSafeTo Delete에게 전달되는 주소에 대한 확실한 보장이 없다. 자세한 내용은 Item 24, 31일 참고하라.
         가상 클래스라고 해석 될수 있는 abstract base 는 초기화 될수가 없다. 덧붙여 말하자면, 이것은 순수 가상 함수를 최소한 하나 이상은 가지고 있어야만 한다. mixin("mix in")클래스는 잘 정의된 기능과 상속되는 어떤 클래스와도 잘 부합되도록 설계되어져 있다. 이런 클래스들은 거의 항상 abstract이다. 그래서 여기에서는 abstract mixin base class는 용도로 operator new로 객체의 할당 여부만 알수 있는 능력만을 유도된 클래스에게 제공한다.
         이 클래스에서 list데이터 구조체는 C++의 라이브러리에 정의되어 있다.(Item 35참고) list가 하는 일은 예상되는 것과 같이 operator new에서 반환된 주소의 저장이다. 그리고 operator delete는 메모리를 해제하고, list로 부터 해당 주소의 엔트리를 지운다.
         // static 클래스 멤버의 정의는 규칙이다.
  • 타도코코아CppStudy/0724/선희발표_객체지향 . . . . 8 matches
          즉, 주어진 클래스에 서브클래스(subclass)가 있다면 서브클래스의 모든 객체들은 소속 클래스의 모든 속성이나 연산기능을 상속받게 된다. 따라서, 서브클래스를 정의할 때에는 수퍼클래스(super class) 로부터 상속받는 내역들을 중복하여 정의할 필요가 없게 된다.
          * 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 한다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
          서브클래스가 수퍼클래스의 변수와 메소드들을 상속받을 때 필요에 따라 정의가 구체화(specification)되며, 상대적으로 상위층의 클래스 일수록 일반화(generalization) 된다고 말한다.
          * 상속성(Inheritance) : 객체를 이루는 클래스를 만들때 이전의 정의했던 클래스와 비슷하나 다른 특이한 특성을 지니는 클래스를 만드는것이다.
         문제를 정의하고 이 정의로부터 모형(model)들을 제작하여 실세계(real-world)의 중요한 특성들을 보여주는 단계이다. 다음과 같은 모형 들이 만들어 질 수 있다.
         객체 설계(object design) : 구현에 필요한 상세한 내역을 설계 모형으로 제작하고 상세화된다. 구체적인 자료구조와 알고리즘 들이 정의된다.
  • 타도코코아CppStudy/객체지향발표 . . . . 8 matches
          즉, 주어진 클래스에 서브클래스(subclass)가 있다면 서브클래스의 모든 객체들은 소속 클래스의 모든 속성이나 연산기능을 상속받게 된다. 따라서, 서브클래스를 정의할 때에는 수퍼클래스(super class) 로부터 상속받는 내역들을 중복하여 정의할 필요가 없게 된다.
          * 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 한다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
          서브클래스가 수퍼클래스의 변수와 메소드들을 상속받을 때 필요에 따라 정의가 구체화(specification)되며, 상대적으로 상위층의 클래스 일수록 일반화(generalization) 된다고 말한다.
          * 상속성(Inheritance) : 객체를 이루는 클래스를 만들때 이전의 정의했던 클래스와 비슷하나 다른 특이한 특성을 지니는 클래스를 만드는것이다.
         문제를 정의하고 이 정의로부터 모형(model)들을 제작하여 실세계(real-world)의 중요한 특성들을 보여주는 단계이다. 다음과 같은 모형 들이 만들어 질 수 있다.
         객체 설계(object design) : 구현에 필요한 상세한 내역을 설계 모형으로 제작하고 상세화된다. 구체적인 자료구조와 알고리즘 들이 정의된다.
  • 02_C++세미나 . . . . 7 matches
         // 구조체는 사용자 정의 데이터 형이다. 구조체를 설정해 놓으면 그것을 int나 long같은 기본 데이터형처럼 쓸수있다. 예제를 봅시다.
         int로 정의한 변수는 정수를 저장하는 변수이고,
         double로 정의한 변수는 소수점이 있는 수를 저장하는 변수이고,
         char로 정의한 변수는 문자를 저장하는 변수인데...
         여러가지로 말이 많았는데 이쯤에서 포인터의 쓰임에 대해 간략하게나마 설명하겠다. 포인터의 이론적인 정의는 무엇인가. 바로 '메모리의 주소를 가지고있는 변수'란 것이다. 그건, 동시에 포인터를 이용하면 그 해당하는 메모리로의 직접적인 접근과 제어가 가능하다는 뜻이다. 그렇다면 포인터의 역활은 메모리로의 직접적인 억세스가 되는것이고, 여기에 포인터의 연산을 통해 거의 어셈블리언어에 가까운정도의 저수준 메모리 제어를 가능케 한다. 바로 그것이 포인터의 존재이유이며 쓰임이다. 이런 이론적인 포인터의 쓰임 말고, 직접적인 강함의 체험을 원한다면, 여러분이 직접 사용해볼것을 권한다.
         이렇게 만들면, a는(*a가 아니다. 정의할때만 *를 붙여야 한다. 사용할땐 a로 쓴다)
         블럭({로 시작하여 }로 끝나는것) 안에서 static 이라는 키워드 없이 정의된 변수는
  • Chapter I - Sample Code . . . . 7 matches
          프로세서마다 각각 가지고 있는 특성이 다르기 때문에 우리가 포팅하려는 타겟 CPU에 맞춰 여러가지 글로벌 변수를 선언해줘야 한다. (글로벌 변수라기보다는 키워드 재정의라고 말하는게 더 맞겠다) [[BR]]
          각각의 프로세서마다 int 형 데이터의 크기 char 형 데이터의 크기.. 등등이 다르기 때문에 다음과 같은 식으로 재정의를 해준다.
          // 형 재정의
          // 형 재정의 (#define이용)
          위처럼 다음과 같이 매크로 정의를 해 놓고 다음과 같은 소스를 적용시킨다고 해 보자
          만약 다음과 같이 OS_GLOBALS라는 매크로를 미리 적용시키면 형 정의가 되지 않은 상태이므로 (위의 #ifdef~#else 에서 #else 절에 걸리게 된다) 다음과 같은 코드가 된다.
         #if OS_CRITICAL_METHOD == 1 // OS_CRITICAL_METHOD 는 어디선가 이미 정의되어있다. 아마 CPU에 따라 다르게 값이 정해져 있을것이다.
  • Gnutella-MoreFree . . . . 7 matches
          1.2 프로토콜 정의
          Note 3 : Protocol은 Header와 Payload로 구성
          Payload Length (4 byte): Header 다음에 따라오는 Descriptor 의 길이
         || ping || 네트워크상의 호스트를 찾을 때 쓰인다. Payload가 없기 때문에 header의 Payload_Length = 0x00000000 로 설정된다. ||
          GnutellaPacket packet_Header / packet_Ping / packet_Pong
         Item.Distance = Log->Header->Hops;
         key_Value* key = m_pComm->m_TableRouting.FindValue(&Ping->Header.Guid);
         통해 받았던 핑인지 검사하고 if(key == NULL) 받았던 핑이 아니라 새로운 핑이라면 m_pComm->m_TableRouting.Insert(&Ping->Header.Guid, this) 처럼 라우팅 테이블에 넣고 Pong을 보내준다.
  • MoniWikiACL . . . . 7 matches
         == 미리 정의된 그룹 @group ==
         == 사용자 정의 그룹 @group 그리고 @group의 priority ==
         /!\ 여기서 Anonymous 사용자는 @Guest로 지정되어 있으며, @Guest는 미리 정의된 그룹이 아닙니다.
         위의 예에서 @Block 그룹을 정의하고 있으며 이에 해당되는 IP대역, 부분IP 등등을 지정하고 있습니다.
         @Guest Anonymous // @Guest 사용자 그룹 정의
         @Guest Anonymous // @Guest 사용자 그룹 정의
          * {{{allow edit,savepage}}}라고 explicit하게 정의된 것을 다시 취소시켜야 의도대로 작동하는 것이다. 따라서 {{{ProtectedPage @User deny edit,savepage}}}라고 써 주어야 한다.
  • RubyLanguage/Expression . . . . 7 matches
          * 아래에 있는 연산자는 method 로 정의되어 있으며 재정의가 가능하다.
          * method 로 정의되지 않은 연산자
         || defined || 심벌이 정의되었는지 검사 ||
         == 연산자 재정의 ==
          * defined? 연산자: 매개변수가 정의된 경우 그에 대한 설명을 문자열로 반환하고, 정의되지 않은 경우 nil을 반환
  • 새싹교실/2012/AClass/1회차 . . . . 7 matches
         - 확장성이 큰 것으로 , 긴 프로그램을 설계할 때 #define으로 정의된 것을 사용할수 있어서 편리하다.
         float addfun (para11,para2) // float 데이터형으로 정의된 함수 addfun 선언
          #define : 특정 대상을 정의함으로써 전처리기가 이를 특별하게 다루도록 하고싶을때 사용한다.
          이렇게 정의된 특정 대상을 매크로 라고 한다. 매크로는 전처리기 과정에서 정의
         매크로 상수를 정의할 때 사용.
         - 프로그램에서 여러 번 사용되는 상수 값을 매크로 상수로 정의해서 사용하는 것
  • 새싹교실/2012/startLine . . . . 7 matches
          - 함수란? 함수의 정의, 만드는 예제
          * 포인터의 정의, 포인터 변수의 정의, malloc 함수, fflush() 함수, getchar() 함수, 메모리의 heap과 stack 영역, (int)a와 *(*(int a))의 차이, 포인터의 OS별 크기(DWORD 크기를 따라간다. 32bit/64bit),
          해 봐야 할 것 : reverse(number) 정의 - 수 배열을 뒤집는 함수
         void printHeader(int year, int month);
         //////////////////////////////////////// 사용자 정의 타입, 사용자 정의 타입 + 포인터
  • 2011년독서모임 . . . . 6 matches
          * 참가자 : [김준석], [김수경], [정의정]
          * [정의정] - [http://www.yes24.com/24/goods/419426?scode=029&OzSrank=6 선물]
          * [정의정] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8956604231 꿈의 도시]
          * [송지원] - 마리아 칼라스 내면의 열정의 고백 (앤 에드워드)
          * [정의정] - '''화'''
          * 그 외에도 SF 영화나 만화에 대해서도 이야기 해 봤었는데, SF 영화를 좋아하긴 해서 좀 본거 같긴 한데... 생각해 보면 다 유명한거네 -_-;; 만화도 일반 용자물(선가드, 다간과 같은..)은 로봇이 나오긴 하는데, 그냥 정의가 이긴다라는 내용이 주였던데 반해 가오가이가는 용자물인데도 과학적 근거를 들어서 내용이 사실감 있게 묘사한 것이 생각이 난다고 했었습니다.
  • 2학기파이선스터디/문자열 . . . . 6 matches
         = 문자열의 정의와 특성 =
         == 문자열 정의 ==
          * 문자열 정의는 '(작은 따옴표) 혹은 " (큰 따옴표) 로 정의할수 있다.
          * 작은 따옴표 혹은 큰 따옴표를 세개 연속 사용해서 정의하는 경우 쓰는 그대로 정의됨.
  • Gof/Visitor . . . . 6 matches
         object structure 의 element들에 수행될 operation 을 표현한다. [Visitor]는 해당 operation이 수행되는 element의 [class]에 대한 변화 없이 새로운 operation을 정의할 수 있도록 해준다.
         [컴파일러]가 abstact syntax tree로 프로그램을 표현한다고 하자. 컴파일러는 모든 변수들이 정의가 되어있는 지를 검사하는 것과 같은 '정적인 의미' 분석을 위해 abstract syntax tree에 대해 operation을 수행할 필요가 있을 것이다. 컴파일러는 또한 code 변환을 할 필요가 있다. 또한 컴파일러는 type-checking, code optimization, flow analysis 와 해당 변수가 이용되기 전 선언되었는지 등의 여부를 검사하기 위해서 해당 operations들을 수행할 필요가 있다. 더 나아가 우리는 pretty-printing, program restructuring, code instrumentation, 그리고 프로그램의 다양한 기준들에 대한 계산을 하기 위해 abstract syntax tree를 이용할 것이다.
         type-checking 의 기능을 넘어 일반적인 visitor를 만들기 위해서는 abstract syntax tree의 모든 visitor들을 위한 abstract parent class인 NodeVisitor가 필요하다. NodeVisitor는 각 node class들에 있는 operation들을 정의해야 한다. 해당 프로그램의 기준 등을 계산하기 원하는 application은 node class 에 application-specific한 코드를 추가할 필요 없이, 그냥 NodeVisitor에 대한 새로운 subclass를 정의하면 된다. VisitorPattern은 해당 Visitor 와 연관된 부분에서 컴파일된 구문들을 위한 operation들을 캡슐화한다.
         VisitorPattern으로, 개발자는 두개의 클래스 계층을 정의한다. 하나는 operation이 수행될 element에 대한 계층이고 (Node hierarchy), 하나는 element에 대한 operation들을 정의하는 visitor들이다. (NodeVisitor hierarchy). 개발자는 visitor hierarchy 에 새로운 subclass를 추가함으로서 새 operation을 만들 수 있다.
  • HardcoreCppStudy/두번째숙제/ConstructorAndDestructor/김아영 . . . . 6 matches
          //private 자료 정의
          클래스이름( ){ } //생성자 함수정의
          //클래스 멤버 정의
          //private 자료 정의
          ~클래스이름( ){ } //소멸자 함수정의
          //클래스 멤버 정의
  • MoreEffectiveC++/Efficiency . . . . 6 matches
         당신의 컴파일러는 operator*내부의 임시 인자를 없애고 그 임시 인자는 operator*에 의하여 반환 된다. 그들은 객체 c를 메모리에 할당하는 코드에 대하여 return 표현에 의해 정의된 객체를 생성한다. 만약 당신의 컴파일러가 이렇게 한다면 operator*에 대한 임시 객체의 총 비용은 zero가 된다. 게다가 당신은 이것보다 더 좋은 어떠한것을 생각할수 없을꺼다. 왜냐하냐면 c가 이름 지어진 객체이고, 이름 지어진 객체는 사라지지 않기 때문이다.(Item 22참고). 거기에 당신은 inline함수의 선언으로 operator*를 부르는 부하 까지 없앨수 있다.
         이성적이거나, 아니거나, 이 C++ game의 법칙에서 모든 overload한 operator는 반드시 사용자 정의 형(user-defined type)을 가지고 있어야 한다. 그래서 우리는 위와 같은 구문으로 overload할수 없는 것이다.(만약 이런 규칙이 존재하지 않는다면, 프로그래머는 미리 정의된 확실한 의미들의 정의를 해칠수 있다. 예를 들어 위와 같은 int둘에 대해 operator+를 overload가 가능하다면 int의 합에대한 기본 의미가 변화할것이다. 그것을 정말 원하는 사람이 있을까?)
         만약 x와 y가 사용자 정의(user-defined)형일때 이러한 보증을 할수 있을까? C++에 관해 잘 생각해 보면 operator+, operator= 둘과 operator+= 는 하등 상관 없는거다. 그래서 만약에 당신이 세계의 operator들이 서로 관계가 있기를 원한다면 당신 스스로 그것을 적용해 주어야 한다. 마찬가지로 operator -, *, / 등 전부다다.
         다음과 같은 템플릿의 사용으로 operator 할당 버전이 어떠한 형 T로 정의되어져 있는 상태라면 stand-alone operator는 아마도 자동적으로 그것을 생성하게 될것이다.
  • PatternOrientedSoftwareArchitecture . . . . 6 matches
          * task(과업,일) 들을 레이어에 배치하기 위한 추상적인 기준을 정의 하여라. 실제적인 소프트웨어 개발에서 우리는 종종 추상적인 기준들의 혼합을 사용한다. 예를들어서 하드웨어적인 관점에서 저 수준의 레벨들의 모습을 정하고, 개념적인 복잡성으로 고 수준의 레벨을 정한다.
          * 생각해야할 문제 : 각각의 문제에 대한 해결책은 다른 표현이나 paradigms 이 필요하다. 많은 경우에 어떻게 '부분적인 문제들을 풀어주는 해결책'이 어떻게 조합되어야 하는지에 대해서 미리 정의된 전략은 없다. 아래의 내용은 이런 종류의 문제를 푸는데 영향을 끼지치는 force(이 패턴이 사용되는 경우?)들이다.
          * 해결책(solution) : Blackboard 구조의 바탕에 깔린 개념은 공동의 데이터 구조에 대해서 협동적으로 작동하는 독립된 프로그램들의 집합이다. 그 독립적인 프로그램들은 서로 다른 프로그램을 호출하지 않고 또한 그것의 행동에 대해 미리 정의된 순서는 없다. 대신에 시스템의 방향은 주로 현재의 상태나 진행(progress)에 의해 결정된다. 데이터-관리 조종 체계(data-directed control regime)는 opportunistic problem solving 이라고도 불린다. moderator(중재자) component는 만약 하나 이상의 component가 contribution을 만들수 있다면 프로그램들이 실행되는 순서를 결정한다.
          * 1.문제(problem)를 정의 하여라
          * 시스템의 output을 정의하여라
          * 2.그 문제에 대한 solution space(해결 공간)을 정의하여라.
  • ProjectSemiPhotoshop/SpikeSolution . . . . 6 matches
          LPBITMAPINFOHEADER lpbmi; // pointer to a Win 3.0-style DIB
          LPBITMAPCOREHEADER lpbmc; // pointer to an other-style DIB
          /* point to the header (whether Win 3.0 and old) */
          lpbmi = (LPBITMAPINFOHEADER)lpDIB;
          lpbmc = (LPBITMAPCOREHEADER)lpDIB;
          LPBITMAPINFOHEADER lpbmi; // pointer to a Win 3.0-style DIB
          LPBITMAPCOREHEADER lpbmc; // pointer to an other-style DIB
          /* point to the header (whether old or Win 3.0 */
          lpbmi = (LPBITMAPINFOHEADER)lpDIB;
          lpbmc = (LPBITMAPCOREHEADER)lpDIB;
          dwClrUsed = ((LPBITMAPINFOHEADER)lpbi)->biClrUsed;
          wBitCount = ((LPBITMAPINFOHEADER)lpbi)->biBitCount;
          wBitCount = ((LPBITMAPCOREHEADER)lpbi)->bcBitCount;
          BITMAPFILEHEADER bmfHeader;
          if(file.Read((LPSTR)&bmfHeader, sizeof(bmfHeader))!=sizeof(bmfHeader))
          if (bmfHeader.bfType != DIB_HEADER_MARKER)
          if (file.ReadHuge(pDIB, dwBitsSize - sizeof(BITMAPFILEHEADER)) != dwBitsSize - sizeof(BITMAPFILEHEADER) )
          BITMAPFILEHEADER bmfHdr;
          LPBITMAPINFOHEADER lpBI;
          lpBI = (LPBITMAPINFOHEADER)::GlobalLock((HGLOBAL)m_hImage);
  • ZeroPage . . . . 6 matches
         여러가지 힘든 여건 속에서도 뜻이 있는 사람들의 수고와 노력으로 지금까지 이어져 온라인/오프라인 활동을 계속하고 있습니다. 지금까지의 ZeroPage 는 ZeroPage를 거쳐간 사람들이 만들어놓은, 혹은 현재 활동중인 사람들의 과정에 대한 결과이며, 다시 많은 사람들에 의해 재창조되고 새로운 모습을 만들어나가게 될 것입니다. 언제나 '현재 진행형' 중인 학회이기를. 이 정의 또한 사람들이 스스로 깨뜨리고, 더 좋은 방향으로 바꾸어나가기를.
          * team 'AttackOnKoala' HM : [강성현], [정진경], [정의정]
          * team 'AttackOnKoala' 32등 : [강성현], [정진경], [정의정]
          * 최우수상(1등) : Forensic - [정의정],[권영기],[김희성],[김태진]
          * 디지털 증거 수집을 위한 디지털 포렌식 프레임워크 : [정의정]
          * team 'HONGHAI' 63등 : [정진경], [정의정], [고한종]
  • 정모/2012.3.12 . . . . 6 matches
          * 참가자 : [변형진], [김준석], [김수경], [정의정], [강성현], [정종록], [권순의], [박성현], [서민관], [이진규], [추성준], [김태진], [정진경], [장용운], [서지혜]
          * 전시회 홍보, 동아리 방 설명에 이어서 OMS가 상당히 인상 깊었던 정모였습니다. 제목만 보고도 그 주제를 고르신 이유를 바로 알았습니다. 전체적으로 Type, Type Safety, Java Generics에 대해서 상당히 깊이 다루지 않았나 싶네요. 사실 제네릭스 모양이 C++의 템플릿과 비슷하게 생겨서 같은 것이라고 생각하고 있었는데 이건 확실히 '만들어진 이유가 다르다'고 할 만 하군요. 그리고 마지막에 이야기했던 Type Erasure는 제네릭스를 구현할 때 JVM 레벨에서 구현하지 않고 컴파일러 부분에서 처리를 하도록 했기 때문에 타입이 지워지는 거라는 얘기를 들었는데 맞는지 모르겠군요. 이거 때문에 제네릭스 마음에 안 들어하는 사람들도 있는 모양이던데. 중간에 이 부분에 대한 개선이 이루어지고 있다는 말씀을 잠깐 하셨는데 컴파일 이후에도 타입 정보가 사라지지 않도록 스펙을 수정하고 있는 건가요? 좀 궁금하군요. 여담이지만 이번에 꽤 인상깊게 들었던 부분은 예상외로 Data Type에 대한 부분이었습니다. 이걸 제가 1학년 여름방학 때 C++ 스터디를 한다고 수경 선배한테 들은 기억이 지금도 나는데, 그 때는 Type이 가능한 연산을 정의한다는 말이 무슨 뜻인지 이해를 못 했었죠 -_-;;; 이 부분은 아마 새내기들을 대상으로 새싹을 할 때 말해줘야 할 필요가 있지 않을까 싶습니다. 아마 당장은 이해하지 못 하겠지만. 후후 - [서민관]
          * 사고가 확장되는 건 언제나 즐거운 일이네요. 수학의 기본 정의를 이용하여 Data type을 설명하신 것을 보며, 놀라웠습니다. 프로그래밍 관련 생각을 할 때 마다, 매번 '아 나의 사고(thinking)의 도메인이 너무 작어 ㅜㅜ'라는 생각을 많이 하였는데, Data type의 정의를 들으면서 '내가 평소에 인지(recognize)하지 못했기 때문에, 깊게 생각해보려고 해도 다른 분야의 개념들이 자연스럽게 생각이 떠오르지 않는구나.'라는 생각을 해보게 되었습니다. 이런 건 계속 연습을 해야겠지요 ㅜㅜㅋ 뒤쪽 부분도 상당히 흥미로웠습니다만.. 어제 몸이 아파서 밤에 잠을 못 잔 관계로; 결국 OMS듣다가 정신이 안드로메다로 날아가서 제대로 못들었네요.. 그리고 회장은 항상 수고하네요. 갑자기 많은 일을 하게 되었을텐데 수고하십니다 ㅋ -[박성현]
          * DDD 도서를 읽고 있는데 대체 그 망할놈의 도메인의 정의가 뭐람? - [서지혜]
          * Type safety를 설명하기 위해 Data type 이야기에서 시작했습니다. Data type에 대한 나름의 정의는 멘토링을 통해 듣고 새싹에서 알차게 우려먹은 내용이었어요. 아마 많은 새싹 교실 선생님들께서 첫 주에 변수와 자료형에 대해 수업을 진행하지 않을까 생각하는데 여러분도 알차게 써먹으시길ㅋㅋㅋ
  • 1002/Journal . . . . 5 matches
          * 다른 사람들이 나에 비해 해당 어휘에 대한 재정의(Restatement) 단계가 하나나 두단계정도 더 높았던걸로 기억한다. 내가 책을 읽을때 질문을 잘 못만들어내는 것도 한 몫하는것 같다.
         Refactoring Catalog 정독. 왜 리팩토링 책의 절반이 리팩토링의 절차인지에 대해 혼자서 감동중.; 왜 Extract Method 를 할때 '메소드를 새로 만든다' 가 먼저인지. Extract Class 를 할때 '새 클래스를 정의한다'가 먼저인지. (절대로 '소스 일부를 잘라낸다'나 '소스 일부를 comment out 한다' 가 먼저가 아니라는 것.)
         이번에는 TDD 로 하되, TDD쪽보다는 PBI 에 더 주안을 두고 했다. 이런 수학공식 구하기 스타일의 문제의 경우는 StepwiseRefinement 와도 같은 PBI가 굉장히 유용하다는 생각이 든다. 첫번째 문제 풀때 코드-테스트-재정의 식으로(중복보다는 재정의에 더 신경썼기 때문에) 넘어가는게 거의 1분을 넘어가지 않았다.
         혹시 FakeIt & Refactoring 으로 진행이 가능할까 생각해보면서 처음에는 FakeIt & Refactoring 만으로 진행해보았다. 근데, FakeIt 을 하고 ["Refactoring"] 을 하려 할때 너무 재정의를 많이 하는 것 같아서 대강 넘어갔는데, 그랬더니 다음 테스트로 진행하기 너무 힘들었다. 알고리즘이 어느정도 보이려고 할때, 앞에서의 FakeIt 으로 유도된 코드들을 수정하는게 아니라 아에 뜯어야 할 것 같아서 망설여졌다.
  • Gof/Strategy . . . . 5 matches
         비슷한 문제들을 해결할 수 있는 알고리즘의 군들을 정의하고, 각각의 알고리즘을 캡슐화하고, 그 알고리즘들을 교환할 수 있도록 한다. Strategy는 알고리즘들로 하여금 해당 알고리즘을 이용하는 클라이언트로부터 독립적일수 있도록 해준다.
         이러한 문제는, 각각의 다른 linebreaking을 캡슐화한 클래스를 정의함으로 피할 수 있다. 이러한 방법으로 캡슐화한 알고리즘을 stretegy 라 부른다.
          * 당신은 알고리즘의 다양함을 필요로 한다. 예를 들어, 당신이 알고리즘을 정의하는 것은 사용메모리/수행시간에 대한 trade-off (메모리를 아끼기 위해 수행시간을 희생해야 하거나, 수행시간을 위해 메모리공간을 더 사용하는 것 등의 상관관계)이다. Strategy 는 이러한 다양한 알고리즘의 계층 클래스를 구현할때 이용될 수 있다.
          * 클래스가 많은 행위들을 정의한다. 이는 다중조건문들에 의해서 구현되곤 한다. 이러한 많은 조건문들 대신, 각각 관련된 조건들을 Strategy 클래스들에게로 이동시킬 수 있다.
          * Strategy 가 context의 데이터를 접근할 수 있도록 인터페이스를 정의할 수 있다.
  • JavaNetworkProgramming . . . . 5 matches
          public class AuthException extends IOException{ //사용자 예외를 정의할때 적당한 예외 클래스의 서브클래스가 되는것이 중요한데
          protected void writeStreamHeader() throws IOException{
          super.writeStreamHeader(); //수퍼클래스의 헤더를 출력한후에
          protected void readStreamHeader() throws IOException{ //스트림을 읽는다.
          super.readStreamHeader();
  • Ruby/2011년스터디 . . . . 5 matches
          * [김수경], [서지혜], [강성현], --[정의정]--
         || --[정의정]-- || X || X |||||||||||| ''중간에 빠짐'' ||
          * 기존 연산자를 재정의하는 것이 가능
          * 루비는 매우 동적이기 때문에(실행중에도 메서드를 정의할 수 있다) 테스트 또한 동적으로 이루어져야 한다(프로그래밍 루비 26장 참고)
          * 루비의 클래스 상속도와 klass가 나타내는 메타클래스의 정의.(루비의 메타클래스는 싱글턴객체다?)
  • STLPort . . . . 5 matches
          ||'''"Use Run-time Library" 항목''' || '''이름''' || '''특징''' || '''컴파일 옵션''' || '''환경변수정의''' ||
          ||'''"Use Run-time Library" 항목'''||'''이름''' ||'''특징''' || '''컴파일 옵션''' || '''환경변수정의''' ||
          ||'''정의한 매크로 상수'''||'''대응되는 "Use Run-time Library" 설정'''||'''링크되는 STLport 런타임 라이브러리'''||
         _STLP_USE_STATIC_LIB 상수를 정의한 후에 "Use Run-time Library" 설정을 <*><*threaded>으로 맞춘 뒤에도 {{{~cpp LNK2005}}} 에러와 {{{~cpp LNK4098}}} 경고가 동시에 나는 경우가 있습니다. 이런 에러가 나올 것입니다.
         _STLP_DEBUG란 심볼을 정의해 두면 됩니다. 이렇게 하면, "stldebug" 문자열이 포함된 lib과 DLL이 사용됩니다.
  • ScheduledWalk/석천 . . . . 5 matches
         StructuredProgramming 기법으로 StepwiseRefinement 하였습니다. 문제를 TopDown 스타일로 계속 재정의하여 뼈대를 만든 다음, Depth First (트리에서 깊이 우선) 로 가장 작은 모듈들을 먼저 하나하나 구현해 나갔습니다. 중반부터는 UnitTest 코드를 삽입하기를 시도, 중후반부터는 UnitTest Code를 먼저 만들고 프로그램 코드를 나중에 작성하였습니다.
         위까진 프로그램의 트리중 1차 레벨이겠고, 이를 조금씩 재정의해나갔습니다. 컴파일 에러는 거의 뭐 무시를..~ 어차피 뼈대이므로. 컴파일 에러나 무한루프 등이 문제가 발생하는 경우엔 일단 void 형으로 리턴값을 적거나 return false; 식으로 채워넣습니다. 일단은 뼈를 잡는게 더 중요하므로.
         사실 이 방법은 위험합니다. char [] 일 journey 의 사이즈를 모르고 있기 때문이죠. 만일 journey 에서 입력받은 여정의 크기가 클 경우 메모리에러를 발생시킬 수 있습니다. 하지만, 일단은 성능은 따지지 않고 '가장 간단하게 돌아가는 소스' 를 생각하기 위해 그냥 저렇게 남겨둬봅니다. 원래라면 배열의 최대값보다 더 큰 여정이 나왔을 경우의 처리 등을 생각해야 합니다. 단, 이 문제에 대해선 InputRoachJourney () 함수 내로 지역화가 어느정도 가능합니다. 여기서는 Structured Programming 식으로 접근하려는 것이 목적이여서, 세부적인 문제에 대해서는 좀 덜 신경썼습니다.
         MoveNext 에 대해서 재정의를 해봅시다.
         1. 크거나 그 기능이 애매 또는 모호한 함수/모듈에 대해서 재정의 하기.
  • 김희성/MTFREADER . . . . 5 matches
          PFILE_RECORD_HEADER MFT;
          unsigned __int64 HeaderSize;
          PFILE_RECORD_HEADER $MFT;
          $MFT = PFILE_RECORD_HEADER(new U8[BytesPerFileRecord]);
          Attribute Header size : Resident=24 / Non-resident=64
          HeaderSize=64+*((unsigned char*)$MFT+point+9);
          HeaderSize=24+*((unsigned char*)$MFT+point+9);
          MFT=PFILE_RECORD_HEADER(new U8[*((unsigned __int64*)((unsigned char*)$MFT+point+40))]);
          j=*((unsigned short*)((unsigned char*)MFT+i*BytesPerFileRecord+20));//Offset to First Attribute Header
  • 새싹교실/2012/AClass/4회차 . . . . 5 matches
         - c언어에서는 char,int,float 와 같은 많은 수의 기본 데이터 형과 배열, 포인터, 구조체 등의 유도된 데이터형으로부터 새로운 데이터형을 만들 수 있는데, 사용자 측면에서 새로운 데이터 형을 정의 할 수 있도록 typedef선언을 제공한다. typedef은 #define과 달리 이미 존재하는 c언어의 데이터 형만을 취하여 정의하고 typedef은 프리프로세서에 의해 처리되는 것이 아니라 c컴파일러에 의해 처리된다. 또한 #define보다 다양한 형태의 치환이 가능하다.
         typedef문에서 기존 데이터형 char를 새로운 데이터형 이름으로 *YOU를 정의했고 YOU name이라 정의하면 이는 char *name로 나타낸것과 같다.
         typedef을 정의하면 int나 char 등의 자료형을 자신이 원하는 명칭으로 바꾸어서 사용이 가능하다.
  • 새싹교실/2012/주먹밥 . . . . 5 matches
          * 구조체는 사용자가 타입을 정의해서 변수처럼 쓸수 있게 만들어주는것 입니다!
          * typedef는 {{{typedef 정의할것 이름;}}} 형식으로 정의하여 진짜 타입처럼 간단하게 쓰는겁니다.
         ///pcal은 음식 40개가 들어갈수 있는 구조체 배열의 주소값을 넘겨받는다고 정의합시다.
          * 답변 : 지금은 알수 없지만 많은것을 경험해 보았으면 좋겠습니다. 지금 이것이 아니라면 지금 달려나갈길에 대해 신경쓰고 자신감을 가졌으면 좋겠습니다. 순자의 성악설과 원효대사의 해골바가지를 예를 들면서 자신의 마음은 말그대로 마음먹기에 달렸다고 말했죠. 위선의 한자 정의는 僞善! 하지만 거짓 위(僞)는 단순히 자신의 악(惡)을 위해 속인다는 개념이 아닙니다. 사람이 사람을 위해 거짓을 행하며 사람의 마음으로 악(惡)을 다스려 선(善)에 넣는것을 말하게 됩니다. 위선을 단순히 거짓으로 생각하지 말란 얘기. 그래서 사람간의 예절이나 규율 법칙의 기반이 생기게 됬죠(이 얘기는 주제에서 벗어난 딴얘기 입니다). 몸이 먼저냐 마음이 먼저냐를 정하지 마세요. 우선 해보면 자연스럽게 따라오게 되기도한답니다. 필요하다면 Just do it! 하지만 이게 항상 옳은건 아니죠. 선택은 자유. 능력치의 오각형도 보여주었죠. 다른사람이 가지지 못한 장점을 당신은 가지고 있습니다. Whatever! 힘들때는 상담하는것도 좋고 시간을 죽여보는것도 한방법입니다. 항상 '''당신'''이 중요한거죠.
  • .vimrc . . . . 4 matches
         map <F11> ^] " 전역변수/구조체/정의상수/함수정의를 추적
         au BufNewFile *.h call InsertHeaderSkeleton()
         function! InsertHeaderSkeleton()
  • ACM_ICPC/2011년스터디 . . . . 4 matches
         || 날짜 || [김수경] || [서지혜] || [강소현] || [정진경] || [정의정] || [김태진] || [권순의] || [강성현] ||
         || 날짜 || [김수경]|| [강소현] || [정진경] || [정의정] || [김태진] || [권순의] || [송지원] ||
         [JollyJumpers/정의정]
         || [정의정] || 2970 || The lazy programmer ||물론 제가 게으르다는 말은 아닙니다. ||
  • CToAssembly . . . . 4 matches
         프로그램의 첫번째 줄은 주석이다. 어셈블러 지시어 .globl은 심볼 main을 링커가 볼 수 있도록 만든다. 그래야 main을 호출하는 C 시작라이브러리를 프로그램과 같이 링크하므로 중요하다. 이 줄이 없다면 링커는 'undefined reference to symbol main' (심볼 main에 대한 참조가 정의되지않음)을 출력한다 (한번 해봐라). 프로그램은 단순히 레지스터 eax에 값 20을 저장하고 호출자에게 반환한다.
         일반적으로 함수는 함수가 사용할 변수들을 정의한다. 이 변수들을 유지하려면 공간이 필요하다. 함수 호출시 변수값을 유지하기위해 스택을 사용한다. 프로그램 실행중에 반복되는 재귀호출시(recursive call) activation record가 유지되는 방법을 이해하는 것이 중요하다. esp나 ebp같은 레지스터 사용법과 스택을 다루는 push와 pop같은 명령어 사용법은 함수호출과 반환방식을 이해하는데 중요하다.
         문장 foo: .long 10은 foo라는 4 바이트 덩어리를 정의하고, 이 덩어리를 10으로 초기화한다. 지시어 .globl foo는 다른 파일에서도 foo를 접근할 수 있도록 한다. 이제 이것을 살펴보자. 문장 int foo를 static int foo로 수정한다. 어셈블리코드가 어떻게 살펴봐라. 어셈블러 지시어 .globl이 빠진 것을 확인할 수 있다. (double, long, short, const 등) 다른 storage class에 대해서도 시도해보라.
         감싸인 함수(nested function)는 다른 함수 ("감싸는 함수(enclosing function") 안에서 정의되며, 다음과 같다:
  • D3D . . . . 4 matches
          float x, y, z; // 구조체의 이름이 정의되지 않았지 때문에 x,y,z 성분을 원자 단위로 사용.
         그래서, epsilon (이 책에서는 0.001로 정의)이라는 것을 두어 그 문제를 해결한다고 한다. [[BR]]
         면을 정의하는 식
         면을 정의하는 구조체
  • DPSCChapter3 . . . . 4 matches
          우리는 CarPartFactory라는 추상 팩토리 클래스 정의를 하면서 패턴 구현을 시작한다. 이것은 "구체적인 클래스들에 대한
          클래스이다. 그것은 추상적인 상품 생성 함수들(makeCar,makeEngine,makeBody)을 정의한다. 그 때 우리는 상품 집합 당
          하나의 구체적인 팩토리 하위 클래스를 정의한다. 각각의 하위 클래스들은 적당한 부분을 만들고 반환하기 위해서 상품 생성
          함수를 재 정의한다. 그래서 우리는 Object를 상속한 새로운 하위 구조를 추가한다.
  • HardcoreCppStudy/첫숙제/Overloading/변준원 . . . . 4 matches
         ◎ 함수의 다형성(함수의 재정의)
         다음은 함수의 다형성에 대하여 알아보자. 디폴트 전달인자는 개수를 변화시켜 가면서 같은 함수를 호출하게 했다. 함수의 다형성은 함수의 재정의라고도 하는데, 이는 여러 개의 함수가 같은 이름을 사용할 수 있게 해준다. ‘다형성’이라는 표현은 많은 형태를 가질 수 있게 해 준다.
         함수 재정의의 중요한 열쇠는 함수의 전달인자 리스트인데, 이것을 함수의 시그내처라고도 한다.
         8.8 참고-left() 함수의 재정의
  • Hessian . . . . 4 matches
         === interface 의 정의 ===
         RPC 를 위해서는 서버-클라이언트의 대화를 위한 interface 의 정의가 필요하다. 간단하게 정의해본다.
         Java 의 경우는 다음과 같다. 위에서 정의한 interface 인 Basic 이 있어야 한다.
  • Java Study2003/첫번째과제/장창재 . . . . 4 matches
         컴퓨터는 각 CPU에 따라 서로 다른 기계어를 갖습니다. 이러한 이유 때문에 도스 또는 윈도우 95/98/NT 등이 설치되어 있는 컴퓨터에서 실행되는 프로그램이 유닉스가 설치되어 있는 컴퓨터에서는 실행되지 않는 것입니다. 그러나, 자바 바이트코드는 이러한 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드입니다. 따라서, 자바 바이트코드로 컴파일 되기만 하면, 자바 인터프리터인 자바 가상머신이 설치되어 있는 곳이면 어디에서든 실행시켜 줄 수 있습니다. 이는 자바 개발자 또는 사용자로 하여금 자바 프로그램을 개발하거나 사용할 때 그 플랫폼이 윈도우 95/98/NT, 유닉스, 또는 매킨토시인지 전혀 신경 쓰지 않아도 되도록 합니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         하나의 HTML 페이지 내에 있는 애플릿은 하나의 클래스만을 사용할 경우도 있겠지만, 대부분의 경우 여러 개의 클래스를 필요에 따라 사용하게 됩니다. 여러 개의 클래스를 사용할 경우, 모든 클래스가 동시에 사용되지는 않겠지요. 또한 어떤 클래스는 정의는 되어있지만, 필요에 따라 전혀 사용되지 않을 수도 있겠지요. 따라서, 자바에서는 필요할 경우에만 클래스를 로딩하여 사용하게 됩니다. 이러한 기술을 느린(lazy) 클래스 로딩 이라 합니다.
         C언어를 이용하여 C 프로그램을 작성한다면 반드시 main이라는 시작 함수를 정의해 주어야 하고, 윈도우 응용프로그램을 작성한다고 하면 WinMain이라는 함수를 꼭 작성해 주어야 하지요. 이러한 것을 규약(protocol)이라 합니다. 마찬가지로, 자바 언어를 이용하여 여러 가지 종류의 자바 프로그램을 작성할 수 있는데, 이 때 각 자바 프로그램의 종류에 따라 해당 규약이 서로 다릅니다. 이렇듯 자바를 이용하여 자바 프로그램을 작성한다는 것은 각 자바 프로그램에서 제시하고 있는 규약을 지켜 프로그램을 작성한다는 것입니다. 자바 언어를 이용하여 작성할 수 있는 자바 프로그램의 종류를 살펴보면 다음과 같습니다.
  • Java/ModeSelectionPerformanceTest . . . . 4 matches
          public final static String modeClassHeader = "Ex";
          String expectedClassNameHeader = this.getClass().getName() + "$" + modeClassHeader;
          if (inners[i].getName().startsWith(expectedClassNameHeader)) {
  • LinkedList/숙제 . . . . 4 matches
         a = 10; // 정의
         int b = 10; // 선언&정의
         typedef로 'strucrt _slist'를 List로 정의한다.
          pList=(List *)malloc(sizeof(List)); // malloc은 (List *)가 단위인 크기가 List인 메모리 공간을 생성하고 그 메모리 공간 첫 주소를 반환한다. 그 주소가 pList에 대입(정의)된다.
  • Memo . . . . 4 matches
          unsigned char VerIHL; //Version and IP Header Length
         } IpHeader;
          IpHeader *iphdr;
          iphdr = (IpHeader *)Buffer;
  • ProjectPrometheus/CookBook . . . . 4 matches
         regular expression 패턴을 정의하기 위해서 ["Komodo"] 를 이용할 수도 있다. 또는 Seminar:TddRegularExpression 을 시도해보는 것도 좋다. ["1002"] 는 Python Interpreter 를 이용, 표현식을 찾아냈다.
         Cookie 는 보내는쪽 HTTP Protocol 의 Header 부분에 'Cookie: a=1; b=2; c=3' 식으로 쓰여진다.
         === default root 정의 & 포트 수정 ===
         이는 <web-app> 라는 태그로 정의되어있다. 삭제하고 싶다면 '/' 외의 다른 web-app에 등록된 것들을 삭제해주면 된다.
  • ProjectPrometheus/Journey . . . . 4 matches
          * UserStory 정리 & Engineering Task 재정의
          * 한일 : 요구정의 정리, UserStory와 Scenario 혼용, 확인 부족한 스펙 부분 발견, 개발환경 정의
          * 지난번에 받았던 요구사항정의된 글들을 (그때 글들을 미리 스캔해두었었다.) 다시 보면서 다시 정리를 하였다. 어떠한 순서로 할까 하다가 일단 사용자의 기준으로, 사용자들이 이용하는 기능(Functional)과 퍼포먼스 관련 (Non-Functional) 부분으로 생각했고, 주로 Functional 한 부분을 기준으로 사용자 시나리오를 작성하면서 요구사항들을 정리하였다. 그러면서 지난번 Requirement 를 받을때 수동적 자세로 있었음을 후회했다. 5일이 지난뒤 정리하니까 이렇게 머리가 안돌아가나;
  • PythonForStatement . . . . 4 matches
         우선 for 문의 정의를 알아 봅시다.
         시퀀스의 정의는 다음과 같습니다.
         ... 슬라이싱 관련 정의...후략
         내장형의 시퀀스는 2.3 기준으로 여섯가지가 미리 정의 되어 있습니다.
  • StringOfCPlusPlus/영동 . . . . 4 matches
          // +연산자 재정의해서 문자열 합치기
          // <<연산자 재정의해서 문자열 출력하기
          cout<<"5. + 연산자를 재정의 하여 문자열을 합치기"<<endl;
          cout<<"6. <<연산자를 재정의하여 문자열 출력하기"<<endl;
  • TAOCP/BasicConcepts . . . . 4 matches
         알고리즘의 각 단계는 정확히 정의되어야 한다
         계산적인 방법(computational method)을 4쌍의 (Q,I,Ω,f)로 형식을 갖춰 정의하자
         집합 I의 원소 x의 입력은 계산수열, x0, x1, x2,..., 를 다음과 같이 정의한다
         f는 다음과 같이 정의된다.
  • Unicode . . . . 4 matches
         대부분의 흔히 쓰는 문자들을 정의한 규격입니다.
         각 나라별 코드범위와 정의된 문자를 볼 수 있습니다.
         UCS 는 코드값의 테이블이라고 생각하면 됩니다. UTF 는 인코딩의 방법(즉, 바이트의 연속된 순서를 어떻게 표현할 것이냐 하는 정의)이고, UCS 는 미리 정의되어 있는 각 글자 코드를 테이블 화 해놓은 것입니다. 가령 글자 '가' 는 유니코드에서 U+AC00 에 해당하는데, UCS2 에서는 0xAC00 테이블 좌표에 위치하고 있습니다. 이것을 UTF-8 인코딩하면, 0xEAB080 이 됩니다.
  • i++VS++i . . . . 4 matches
         == 연산자 재정의로 구현했을때 ==
          연산자 재정의를 하여 특정 개체에 대해 전위증가와 후위증가를 사용할 때에는 전위증가가 후위증가보다 효율이 좋다. operator++(int) 함수에서는 임시 객체를 생성하는 부분이 있다.
          ++i, 나 i++ 둘다 상관 없는 상황이라면, ++i에 습관을 들이자, 위의 연산자 재정의는 [STL]을 사용한다면 일반적인 경우이다. 후위 연산자가 구현된 Iterator는 모두 객체를 복사하는 과정을 거친다. 컴파일러단에서 Iterator 의 복사를 최적화 할수 있는 가능성에서는 보장할 수 없다. 따라서, 다음과 같은 경우
         동일한 기능에 쓴다면, ++i 에 습관을 들이는 것을 추천한다. [STL]같은 연산자 재정의 라이브러리 때문 --NeoCoin
  • 논문번역/2012년스터디/김태진 . . . . 4 matches
          Rn에서 Rm으로 가는 변환 T는 각 Rm에 있는 벡터 T(x)를 Rn에서 벡터로 바꾸는 규칙이다. 집합 Rn은 T의 정의역이라 불리고, Rm은 T의 공역이라 불린다. 표기법 T: Rn -> Rm은 T의 정의역이 Rn이고 공역이 Rm임을 말한다. Rn에 있는 각 x에 대해, Rm에 있는 벡터 T(x)는 x의 상이라고 불린다. T(x)에 있는 모든 이미지들의 집합은 T의 치역이라 불린다.
         이 섹션의 나머지 부분은 행렬 곱으로 연관된 대응시키기(사상)에 초점을 둔다. Rn에서 각각의 x에 대해, T(x)는 A가 m*n행렬일 때 Ax로 게샨된다. 쉽게말해서 우리는 이러한 행렬 변환을 x->Ax로 나타내기도 한다. T의 정의역이 A가 n개의 열을 가지고 있는 Rn이고, T의 공역이 A의 각각의 열이 m개의 행을 가지고 있는 Rm일때 임을 관찰해라. T의 범위는 행렬 A에 열들에 대한 모든 선형 결합된 것들의 집합인데, 각 상 T(x)가 Ax를 형성하기 때문이다.
         (i) T의 정의역에서 모든 u,v에 대하여 T(u+v) = T(u) + T(v)
  • 데블스캠프2011/첫째날/후기 . . . . 4 matches
         === 정의정 ===
          * 형진이 형의 주제미정의 이야기 였습니다. 개발자로서 살아갈 때에 생각해봐야 할 부분들을 집어주셔서 그에대한 고민을 잠시나마 할 수 있어서 좋았습니다. 이러한 부분은 나중에 제가 개발자로 있을때에 다시 한번 생각할 문제 이겠지요. 또 개발자를 판단하기 위한 단 한가지 질문에서 다른 사람들이 생각하는 질문들과 그에 대한 다양한 답변을 들을수 있어서 좋았습니다.
         === 정의정 ===
         === 정의정 ===
  • 루프는0부터? . . . . 4 matches
         보통 비대칭형 범위는 대칭형 범위보다 더 사용하기 쉽습니다. 왜냐하면 다음과 같은 중요한 속성이 있기 때문입니다. [m, n)과 같은 형식의 범위는 n-m개의 요소들을 가지며 [m,n]의 형식은 n-m+1의 요소들을 가집니다. 따라서 [0, rows)에서 요소들의 개수는 직관적인데 반해, [1, rows]에서 요소들의 개수는 덜 직관적 입니다. 이러한 속성차이는, 특히 빈 범위의 경우에 더 뚜렷합니다. 만약 비 대칭형 범위를 사용한다면, 빈 범위를 [m,n)으로 표현할수 있지만, 대칭형 범위에서는 [n, n-1]을 사용해야 합니다. 범위의 끝이 시작보다 더 작을수 있따는 가능성은 프로그램 설계시 끝이 정의되지 않아 버리는 문제를 야기 시킬수 있습니다.
         지금까지 r개의 행을 출력했따고 표현할 수 있기 때문입니다. 만약 1부터 번호를 매긴다면? 이제막 r번째 행을 출력하려는 찰나라고 정의할 수도 있겠지만, 그러한 구문은 불변식으로 정당치 않습니다. 왜냐하면, while이 조건식을 마지막으로 검사할때, rows+1이 되기 때문입니다. 이때 우리가 원하는 것은 rows행만을 출력하는 것 입니다. 따라서 우리는 r번째 행을 막 출력 하려던 것이 아닌 셈이 됩니다. 지금까지 r-1개의 행들을 출력했다고 불변식을 정의할 수도 있을 것입니다. 하지만 불변식을 그런식으로 정의 햇다면, r을 0부터 시작시켜 단순화 시키는 것이 더 낫지 않을까요?
  • 새싹교실/2012/주먹밥/이소라때리기게임 . . . . 4 matches
         //select에 정의된대로 정의된 함수들.
         //select에 정의된대로 정의된 함수들.
  • 코바용어정리 . . . . 4 matches
         클라이언트의 반대쪽에는 구현 객체라고 알려진 실제 객체가 있다. '구현 객체(Object Implementation)'는 실제 상태(state)와 객체의 반응 양상(behavior)을 규정하며 다양한 방식으로 구성될 수 있다. 구현 객체는 객체의 메소드와 객체에 대한 활성화 및 비활성화 프로시저를 정의한다. 구현 객체는 객체 어댑터의 도움을 받아 ORB와 상호 작용한다. 객체 어댑터는 구현 객체를 특정하게 사용하는 데에 편리하도록 ORB 서비스에 대한 인터페이스를 제공하게 된다. 구현 객체는 ORB와 상호 작용하여 그 정체를 확립하고 새로운 객체를 생성하며 ORB에 따르는 서비스를 획득할 수 있도록 한다. 새로운 객체가 생성되면 ORB에게 통보되고 이 객체의 구현이 어디에 위치하는가를 알게 된다. 호출이 발생하면 ORB, 객체 어댑터, 스켈레톤은 구현의 적절한 메소드에 대한 호출이 되도록 만들어야 한다.
         CORBA는 C++과 Java 같은 객체 지향 언어와 C와 같은 절차적 언어 양쪽 모두에서 사용될 수 있다. 객체 지향 언어에서는 사용자가 객체의 특성을 정의하고 그 프로퍼티에 액세스할 수 있게 해주는 메소드와 인터페이스를 제공한다. 이것은 비객체 지향 언어에는 없는 기능인데, 이것들은 각각
         의 인터페이스 타입에 대해 스텁에 대한 프로그래밍 인터페이스를 필요로 한다. 보통 스텁은 OMG-IDL로 정의되어 있는 객체 오퍼레이션에 대한 액세를 하게 해주는데, 일단 프로그래머가 OMG-IDL 및 특정 프로그래밍 언어에 대한 언어 매핑에 친숙해지면 손쉽게 예상이 가능한 방식으로 액세르를 하게 해준다. 해당 스텁은 ORB 코어에 전용이며 최적화된 인터페이스를 사용해서 나머지 ORB들을 호출하게 될 것이다. 만약 여러 개의 ORB를 사용하게 된다면 각각의 스텁은 제 각기 해당하는 ORB를 호출하게 될 것이다. 이 경우에 ORB와 언어 맵핑은 공조하여 각각의 스텁이 특정 객체 레퍼런스와 제대로 연결될 수 있도록 해야 할 것이다.
         동적 스켈레톤 인터페이스는 IDL에 기초하지 않는 스켈레톤/스텁을 가진 객체의 메소드 호출을 처리해야 하는 서버에 대해 런타임 바인딩 메커니즘을 제공한다. 동적 스켈레톤은 수신된 메시지의 파라미터값을 참조하여 어떤 객체가 호출되었는지 어떤 메소드가 호출되었는지를 알게 된다. 이것은 일반적으로 컴파일된 스켈레톤을 사용하는 것과는 비교되는데 이러한 스켈레톤에서는 메소드의 구현이 IDL로 정의된다. 구현 코드는 모든 오퍼레이션 파라미터에 대한 상세한 설명을 ORB에 제공해야 하며, ORB는 오퍼레이션을 수행할 때 사용되는 입력 파라미터값을 제공한다. 오퍼레이션이 수행된 후, 구현 코드는 출력 파라미터 또는 익셉션을 ORB에게 넘겨준다. 동적 스켈레톤 인터페이스의 특성은 프로그래밍 언어 맵핑에 따라 또는 객체 어댑터에 따라 실질적으로 달라질 수 있지만, 일반적으로는 업콜 인터페이스이다. 동적 스켈레톤은 클라이언트 스텁 또는 DII를 통해서 호출될 수 있다. 이 두 가지 방식의 클라이너트 리퀘스트 생성 인터페이스는 동일한 결과를 제공한다.
  • 튜터링/2011/어셈블리언어 . . . . 4 matches
          * 튜티 : [정의정], [윤종하] 외 4명.
          * 책의 정의를 그대로 외우지 말고 왜 그렇게 되는지를 이해하자.
          * 정의정이 안옴
          * 튜터링 페이지가 있었네..보강은 아침에 합쉬다 - [정의정]
  • 황현/Objective-P . . . . 4 matches
         === Class 선언 및 정의 ===
         Objective-J의 경우처럼, 클래스의 선언과 정의를 동시에 한다. (사실 PHP의 구조상, 이럴 수 밖에 없다.)
         다만, @implementation만 사용하면 @interface가 외로워하니까, 인스턴스 변수의 선언에는 @interface를 사용하도록 하고, 메소드 선언 및 정의에 @implementation을 사용한다.
         // 클래스 선언 및 정의
  • .bashrc . . . . 3 matches
         # 필요하다면 전역 정의를 source
         # 먼저 색깔을 몇 개 정의:
         alias print='/usr/bin/lp -o nobanner -d $LPDEST' # LPDEST 가 정의되어 있다고 가정
  • 2학기파이선스터디/모듈 . . . . 3 matches
          * 프로그램(함수, 클래스... )과 데이터를 정의
          * 사용자가 모듈에 정의된 함수나 변수의 이름을 사용하도록 허용하는것 ( = 라이브러리)
         어떠한 속성을 정의하고 있는가...
  • AcceleratedC++/Chapter10 . . . . 3 matches
          포인터도 타입을 갖는데 일반적으로 type-name * 으로 정의한다.
          '''피해야할 정의 방식'''
          파일의 입출력을 위해서 iostream을 파일 입출력에 맞도록 상속시킨 ofstream, ifstream객체들을 이용한다. 이들 클래스는 '''<fstream>'''에 정의 되어있다.
  • Adapter . . . . 3 matches
         자 그럼 Adapter를 적용시키는 시나리오를 시작해 본다. ''Design Patterns''(DP139)에서 DrawingEditor는 그래픽 객체들과 Shape의 상속도상의 클래스 인스턴스들을 모아 관리하였다. DrawingEditor는 이런 그래픽 객체들과의 소통을 위하여 Shape 프로토콜을 만들어 이 규칙에 맞는 메세지를 이용한다. 하지만 text인자의 경우 우리는 이미 존재하고 있는 TextView상에서 이미 구현된 기능을 사용한다. 우리는 DrawEditior가 TextView와 일반적으로 쓰이는 Shape와 같이 상호작용 하기를 원한다. 그렇지만 TextView는 Shape의 프로토콜을 따르지 않는 다는 점이 문제이다. 그래서 우리는 TextShap의 Adapter class를 Shape의 자식(subclass)로 정의 한다. TextShape는 인스턴스로 TextView의 참조(reference)를 가지고 있으며, Shape프로토콜상에서의 메세지를 사용한다.; 이들 각각의 메세지는 간단히 다른 메세지로 캡슐화된 TextView에게 전달되어 질수 있다. 우리는 그때 TextShape를 DrawingEditor와 TextView사이에 붙인다.
         이처럼 Adapter가 정의되어져 있다면 Adapter와 Adaptee양쪽의 인터페이스를 이미 알고 있는 셈이다.;그래서 우리는 Shape 메세지를 TextView메세지에 맞추는 해석 과정과 같은 Adapter를 이런 특별한 용도에 맞추어 만들수 있다. 우리는 이런걸 Teilored Adapter라고 부른다.
         Adapter시나리오의 두번째는 Adaptee의 인터페이를 디자인 시간에 알수 없을 때 이다. Adaptee의 인터페이스를 먼저 알수 없기 때문에 우리는 하나의 인터페이스에서 다른 것으로 메세지를 간단히 해석할수 없다. 이런 경우에는 메세지의 변형과 전달의 일반적 규칙에 맞추어 Pluggable Adapter를 사용한다. Tailored Adapter와 같이 Pluggable Adapter도 해석기를 Client와 Adaptee사이의 해석기를 제공한다. 하지만 각각의 특별한 경우를 위한 새로운 Adapter클래스의 정의를 필요하지 않다. Pluggable Adapter가 쓰이는 경우의 상태를 생각해보자
  • CleanCode . . . . 3 matches
          * 예를들면 입력이 들어왔을 때 A라는 출력이 나와야 한다고만 spec에 정의돼있으면 입력이 없을 때에 대한 테스트 코드는 무슨 기준으로 작성하느냐 또는 에러처리를 해야 하는가에 대한 기준을 말하는것 같습니다. - [서영주]
          * 아, 그런말 한 것 같네요. 이경우는 코드가 아니라 요구사항(아키텍처) 단계에서 정의가 필요한 일이네요. - [서지혜]
          * 실제 일하는데서는 어떤가요? 이런 부분에 대한 요구사항이 없을 경우에는 어떤식으로 처리를 하는지가 궁금합니다. 먼저 처리하고 어떻게 처리했다고 따로 보고하나요? 아니면 없으니까 이런걸 정의해줘야 한다고 건의를 하고 대답이 오면 그 때 처리를 하나요? - [서영주]
  • DesignPatternsAsAPathToConceptualIntegrity . . . . 3 matches
         디자인패턴의 조직에 대한 우리의 토론중 디자인 패턴의 '자연적인 생성' 을 정의하기 어렵다는 의견이 있었다.만일 우리가 어떻게 디자인 프로세스에서 디자인 패턴들이 이용되는지 이해한다면, 그리고 패턴들의 조직화가 멀리 숨어있지 않다면, 이는 정의를 위한 좋은 프로퍼티가 될 것이다. 크리스토퍼 알렉산더(Alexander) 는 디자인 패턴의 자연적 생성은 이득이 되는 요소중 하나임을 강조했다. 소프트웨어의 관점의 업무 내에서 자연적인 생성은 실패한것 처럼 보이며, 디자인 패턴을 이용하는 더 일반적인 접근 방법은 다음과 같은 식으로 묘사된다. "xyz 문제에 대해 직면하게 되었을때.. 해결책은.." 혹자는 소프트웨어계에서 더 디자인패턴의 편의주의적인 적용은 디자인패턴의 생성적인 이용보다 유용하다고 말할지도 모른다.
         하나의 어프로치는 정의, 가장 최우선의 중요한 특질을 상승시킨다. (어뎁터빌리티나 변화에 대한 분리) 그리고 이 퀄리티들들을 디자인 프로세스의 설립의 용도로 이용할 수 있다. 만일 이 최우선의 특징이 프로세스의 목적이나 구체적 디자인 분류의 하나라면 아마 'many'는 같은 개념적 완전성을 "약간의 좋은 감정"으로서 적시에 프로덕트를 ..
  • FreechalAlbumSpider . . . . 3 matches
         ["1002"] 는 webdebug 와 Proxomitron 두개를 이용하는데, 둘 다 일종의 프록시 서버처럼 이용하여 HTTP 로 송수신 되는 GET/POST, HTTP Header 데이터들의 로그를 확인할 수 있다. 둘을 이용, 프로토콜 분석을 하였다.
          우선 감사합니다. 근데 에러가 나네요^^; 제가 현재 이미지 가져오는 부분을 처리를 도저히 못하겠는데, 혹시 이 부분에서 주의하여야 할 부분이 있나요? python도 Header setting같은 거 하나요? 전 PHP로 하고 있거든요..
          원리는 보통의 이런류의 프로그램 (HTTP 로 문서 가져오고 스트링 파싱하여 데이터로 가공하고 DB에 저장) 이 비슷합니다. 단, 앨범게시판의 경우 로그인이 필요한데, 이 경우 쿠키 처리를 위한 header setting을 해줘야겠죠. Perl 같은 경우 LWP, Python 의 경우 ClientCookie, Java 의 경우 HttpUnit(원래의 용도는 다르지만, 이런 프로그램을 위한 간이 브라우저 라이브러리로 쓸 수 있습니다.) 등의 라이브러리를 쓸 수 있습니다. 그리고, 이미지의 경우는 해당 URL을 보고 다시 HTTP Connection 을 열어서 얻어와서 binary로 저장해야 한다는 것이 유의사항이 되겠습니다. (HTML만 얻어오면 img tag 의 링크들만 있겠죠.) 그리고 header setting 에서 약간 미묘(?)한 부분이 있던것 같던데, 저는 걍 webdebug 로 캡쳐한거 그대로 보낸지라..; 이 부분은 CVS의 코드 참조하세요. --[1002]
          감사합니다. Image가져오는 부분이 그 동안 안 되서 포기하고 있었는데, 덕분에 PHP로 해결했습니다. ^^ 제가 Header setting을 잘못했더군요.
  • HardcoreCppStudy/첫숙제 . . . . 3 matches
         == 함수의 중복정의 ==
          * 함수의 중복정의(Overloading)에 대해 기술할 것. 예제도 스스로 만들어 보기 // 책에는 재정의라고 나와있음.
  • Header 정의 . . . . 3 matches
         #ifndef Header 이름
         #define Header 이름
         정의
  • IntelliJ . . . . 3 matches
         === 사용자 정의 단축키 ===
         자주 쓰는 기능들임에도 불구하고 단축키가 정의되지 않은 기능들이 있다. 특히 run class 와 run test 들이 그러한데, 이들은 Key Map 을 직접 해주도록 하자. (개인적으론 ctrl + F10, shift + ctrl + F10 으로 정의해놓고 씀)
  • MoreEffectiveC++/Operator . . . . 3 matches
          * Item 5: 사용자 정의 형변환(conversion) 함수에 주의하라!
         7줄 ''if ( a == b[i] )'' 부분의 코드에서 프로그래머는 자신의 의도와는 다른 코드를 작성했다. 이런 문법 잘못은 당연히! 컴파일러가 알려줘야 개발자의 시간을 아낄수 있으리, 하지만 이런 예제가 꼭 그렇지만은 않다. 이 코드는 컴파일러 입장에서 보면 옳은 코드가 될수 있는 것이다. 바로 Array class에서 정의 하고 있는 '''''single-argument constructor''''' 에 의하여 컴파일시 이런 코드로의 변환의 가능성이 있다.
         우리는 ++와 --연산자(이하 가칭 가감 연산자)를 즐겨 쓴다. 이 연산자 역시 클래스에서 정의해서 사용할수 있다.
  • NSIS/Reference . . . . 3 matches
         || InstType || "Full Install" || Install 관련 component type 에 대한 정의. 순서대로 1,2,3,4...8 까지의 번호들이 매겨지며, 이는 추후 SectionIn 에서 해당 component 에 대한 포함관계시에 적용된다. ||
         || 함수들은 Section 이나 Function 안에서 정의되면 안된다.
         || 함수중 'un.' 으로 시작하는 것들은 일반적으로 Uninstaller를 위한 함수들이다. Uninstall Section이 정의되어있지 않은 경우, 호출되지 않을 것이다.
  • OOP/2012년스터디 . . . . 3 matches
         void printHeader(int year, int month);
          printHeader(year, i);
         void printHeader(int year, int month){
  • Plugin/Chrome/네이버사전 . . . . 3 matches
         flickr에서 permission을 받아 사진을 긁어오는 플러그인을 만드는것 같다. 파일구성은 HTML안에 스타일을 적용하는 CSS. AJAX, Javascript를 이용하여 (AJAX의 정의를 알아보아야겠다 ) 내용을 구성한다. json을 통해 뭘 하는건가. 흥미롭군.
         영어로 보는게 더 자세하지만 난 한국인이라. 간단히 말하자면 인터넷에서 자료를 주고받을때 그 자료형식을 정의하는 문서인데 javascript구문을 사용하는 파일이다. xml보다 web에서 효과적이기 때문에 web상에서 쓰인다고 한다. 좋은거 배우네.
          * 따라하다가 실수한점 : manifest.json파일을 menifest.json이라 해서 update가 안됨. json정의할때 다음 element를 위해 , 를 붙여야하는데 안붙여서 에러. 그렇지만 나머지는 복붙해서 잘 가져옴.
  • ProjectZephyrus/Server . . . . 3 matches
          | ex) DB query문, Packet정의
          * 모든 객체 정의 완성 상태. Rename과 코딩중에 필요한 부가적인 정보를 알아 내야 한다.
         ||||||||''서버 정보 기능(Spec 미정의, 구현 강제성 없음)''||
  • Ruby/2011년스터디/세미나 . . . . 3 matches
         || [정의정] || 변수 || || ||
         || [정의정] || ~~자폭~~ || || ||
          * Ruby 라는 언어를 처음으로 접하게 되었습니다. irb를 이용하여 Ruby 코딩을 연습해 보았습니다. 코드 수정이 일단 한번 해놨으면 다시 정의를 해야되서 매우 불편하였으나 c같이 문법이 딱딱하지 않고 생략해도 구문 자체의 의미가 명확하다면 알아서 해주는 모습이 매우 신기했습니다. 나중에 lua도 공부해서 wow 에드온을 어찌해봐야겠습니다. - [임상현]
  • Spring/탐험스터디/2011 . . . . 3 matches
          * [김수경], [서지혜], [정의정], [서민관], [서영주]
         || [정의정] |||||||| - ||
         || [정의정] || X || || || ||
  • TheTrip/Leonardong . . . . 3 matches
         문제를 풀기 전에 샘플 입력부터 보는 경향이 있다. 문제를 이해 못했으므로 샘플 입력을 보다가 결국 다시 문제를 보느라 시간이 지체된다. 따라서 문제를 다 이해하고, 정의한 뒤 샘플 입력을 보아 정의가 맞는지 확인하는 순서로 문제를 풀어야겠다. 해결책은 문제를 정의한 다음에 떠올린다.
  • WinampPluginProgramming/DSP . . . . 3 matches
         // Module header, includes version, description, and address of the module retriever function
         winampDSPHeader hdr = { DSP_HDRVER, "Nullsoft DSP demo v0.3 for Winamp 2", getModule };
         // this is the only exported symbol. returns our main header.
         __declspec( dllexport ) winampDSPHeader *winampDSPGetHeader2()
         // getmodule routine from the main header. Returns NULL if an invalid module was requested,
  • XMLStudy_2002/Start . . . . 3 matches
          1 Invalid Documents : XML의 태그 규칙을 따르지 않거나,DTD를 사용한 경우에 DTD에 정의된 규칙을 제대로 따르지 않는 문서
          3 Valid Documents : XML의 태그 규칙을 지키며 DTD에 정의된 방식으로 바르게 작성된 문서
          *XML 문서는 XML로 기술된 구조적인 정보로 구성되는 문서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid한 형태로 작성된 문서를 말한다. ---> 정의
  • ZIM . . . . 3 matches
          ''예. 맞습니다. ["ZIM/ConceptualModel"] 의 Zimmer에 대한 정의를 비워놨었었군요.''
          * 고객의 요구사항을 추출하여 시스템의 요구사항을 정의한다. (Analysis)
          * 추출된 요구사항을 구현하는 방법을 정의한다. (Design)
  • django/Model . . . . 3 matches
         혹은 모델이 되는 클래스의 이름을 문자열로 지정할 수도 있다. 이는 클래스를 정의하는 순서에 상관없이 한 모델이 다른 모델을 참조할 수 있도록 한다.
         Django는 정의한 모델에 Admin클래스를 재정의해서 이를 삽입, 삭제, 갱신할 수 있는 기본적인 관리자 인터페이스를 자동으로 생성해준다. 사용자 인터페이스는 입력 항목을 원하는대로 배치할 수 있으며, 원하는 디자인도 적용할 수 있다. 이것으로 기본적인 입력 시스템은 만들어졌다.
  • 김희성 . . . . 3 matches
          * Forensic ([정의정],[김태진],[권영기])
          * [정의정]선배 멘붕 원인
          * 서울어코드 멘토링에 [정의정]형과 [김윤환], [장상규]와 참여 중(3/27)
  • 니젤프림/BuilderPattern . . . . 3 matches
         빌더 패턴은 소프트웨어 디자인 패턴의 하나이다. 빌더 패턴은 복잡한 객체를 생성하는 방법과, 표현하는 방법을 정의하는 클래스를 별도로 분리한다. 이 분리로서 얻어지는 효과는, 동일한 생성 과정이 다른 표현을 얻어낼 수 있게 되는 것이다.
         쉽게 말해서, 아주 복잡한 오브젝트를 생성해야하는데, 그 일을 오브젝트를 원하는 클래스가 하는게 아니라, Builder 에게 시키는 것이다. 그런데 자꾸 나오는 생성/표현 의 의미는, 바로 director 의 존재를 설명해 준다고 할 수 있다. director 는 Building step(construction process) 을 정의하고 concrete builder 는 product 의 구체적인 표현(representation) 을 정의하기에.. 그리고, builder 가 추상적인 인터페이스를 제공하므로 director 는 그것을 이용하는 것이다.
  • 복사생성자 . . . . 3 matches
         2. const 로 정의
         3. 보통 operator= 재정의와 같이 사용
         5. 재정의 부분에서 데이터 집어 넣는다.
  • 상협/삽질일지/2002 . . . . 3 matches
          * 이번 삽질은 정말 중대한 삽질이었다. 1학기 평점을 좌우한다고 볼 수 있는 삽질이었다. 1학기 중간고사 대채용으로 내는 자바 프로젝트에서 소켓 부문을 맡은 친구가 알수 없는 에러때문에 엄청난 삽질을 해서 더이상 나아갈수 없다고 했었다. 메신저에서 통신이 안되다니.. ㅡㅡ;; 그 에러는 "No Such Method Found" 에러다. 그러한 Method가 분명히 있는데도 불구하고 안되었다. 나는 황당했다. 그 친구가 자바는 많이 안했어도 MFC랑 C++을 잘해서 소켓을 맡았는데... 나도 그 에러를 같이 찾기 위해서 삽질을 하였다. 소스도 길고 내가 짠것도 아니어서 정말 못 찾을거 같았다. 그 소스는 특성학 모든 클래스가 딱 서버, 클라이언트 두 파일 안에 들어 있었다. 그래서 난 그 클래스들을 각자 파일로 분리해 보기로 했다. 잘 안풀리니깐 한번 정리나 해보면 뭐좀 어떻게 될까 싶은 마음에 그렇게 했다. 그렇게 정리를 하다 문득.. ㅡㅡ;; 같은 이름의 클래스를 서버, 클라이언트에서 각자 다르게 정의해서 사용하는 소스를 발견... ㅡㅡ;;, 그 친구는 아직 자바에 익숙하지 않아서 이런 실수를 했나 보다.. 나도 만약 소스를 클래스별로 파일로 만들 생각을 안했으면 그 에러의 원인을 발견하지 못했을 것이다. 휴. 큰일날 뻔 했넹.. 앞으로는 "No Such Method Found"같은 에러때문에 고생할일은 절대 없기를.. ㅡㅡ;
          * 오늘도 어김 없이 ㅡㅡ;; 삽질을 했다. 이번에는 matrix 클래스를 구현하는데 matrix데이터를 이중 배열로 private영역에 넣어서 이것 저것 해보는데 나중에 클래스의 matrix 데이터를 호출해야할 경우가 생겼다. [4][4] 이거 두개로 리턴할라고 했는데 안되었다. 남훈이형이랑 제본뜬 책찾아 보니깐 배열은 리턴이 안된다고 나왔다. 그래서 고민하다가 *[4] 이거 두개(포인터형 배열 4개짜리)를 사용하고 나중에는 *를 리턴하는 식으로 돌파구를 찾았다.(*[4] 이것도 배열이랑 비슷하게 써먹을수 있었다. 예-> *(matrix[0]+1)) 처음에는 뭔가 되는듯 싶었다. 클래스 내부 배열 설정도 제대로 되고 하였다. 그 .... 러..나.. ㅡㅡ;; 역시나 난 삽질맨이었다. 나중에 + 연산자 재정의 클래스 내에서 객체를 생성해서 리턴할때 뭔가 제대로 먹지가 않았다. 그거 가지고 간만에 ㅡㅡ;; 삽질에 바다에 퐁당 빠졌다. 간만에 해보는 삽질도 그리 유쾌한 일은 아니었다.. -_- 그렇게 계속 신나게 삽질하다가 도저히 안되겠다 싶어서 멤버 데이터를 public에 넣어 버리는 엽기적인 일을 해버렸다. ㅡㅡ; 그 방법밖에는 없는거 같았다. 그 후로는 아무런 걸림돌 없이 쭉쭉 되었다. 진작 이렇게 할걸하는 생각을 했지만 서도 멤버 데이터를 public안에 넣어서 웬지 모를 찝찝함이..
          ''근데.. Matrix 클래스가 있음에도불구하고 왜 Matrix 내의 array를 직접 접근할 일이 생긴건지? 그리고 연산자 재정의와 관련된 문제라면 Matrix 에 인자를 접근할 수 있는 메소드를 넣던지 friend 로 해결해야 하지 않을까 싶음 --["1002"]''
  • 새싹C스터디2005/선생님페이지 . . . . 3 matches
         여러분들보다 조금은 세미나 경험이 많은 사람이기에 한가지 이야기만 드리겠습니다. 세미나를 통해 무언가를 설명할 때 정의(definition)에 대해서 명확하게 알려주도록 노력해 보세요. 여러분이 세미나를 한 후에 신입생들에게 "변수의 정의가 무엇이냐?", "함수의 정의가 무엇이냐?" 와 같은 질문을 한다면 신입생들이 대답을 할 수 있을까요? 혹은 여러분들은 이러한 질문에 명쾌하게 대답을 할 수 있습니까? 어떤 새로운 것을 배울 때 가장 중요한 것은 그것이 어디에 쓰이는 것인지, 그것이 어떻게 쓰는 것인지와 같은 것들이 아니라 그것이 무엇인지를 아는 것입니다. 무엇인지 확실하게 알아야 그 다음을 이해하는데에도 보다 쉽지 않을까요?
  • 새싹교실/2012/ABC반 . . . . 3 matches
         자기가 만들고 싶은 함수를 정의 해 주면 된다.
         int myfunction(int a, int b); 라고 하면 int 자료형을 반환하며 int자료형 2개를 파라미터로 하는 myfuction이라는 함수를 정의한 것이다.
         그 뒤 중괄호를 열고 함수의 몸체를 정의 해 주면 된다.
  • 새싹교실/2012/새싹교실강사교육/1주차 . . . . 3 matches
         2. 새싹 강사, 학생이 돌아가며 강의 자료 목소리 내서 읽어보기(1.새싹교실 정의, 2.2 새싹 교실 시나리오, Wiki란?, 2.4.1 왜 후기를 쓸까요? 참조페이지들)
         1. 새싹 교실의 정의?
         예) 새싹교실 첫 수업이었다. 강사는 누구셨고 잘생겼다. 누구누구랑 같이 듣게 되었는데 얘네는 처음 본다. 얘는 언제 봤었고 같이 해서 좋다. 새싹교실의 정의에 대해 배웠는데 강의 중에는 뭔가 강사가 들떠있는 것처럼 보였다. 그리고 위키를 작성하는 것을 보았는데 사용법이 어려워 보였다. 그런데 거기다가 내 페이지로 글을 만들고 내 각오를 여기다가 적으니 부끄럽지만 신기하고 좋았다. 학교 강의에서는 이렇게 가르쳤는데 여기선 이렇게 가르친다 그런데 학교 강의가 더 잘 이해되는 것 같았다.
  • 새싹교실/2012/열반/120402 . . . . 3 matches
          * 위의 printstar(int) 함수가 정의되었다고 가정
          * printstar 및 N이 정의되었다고 가정했습니다.
          * main은 함수이므로 정의할 때 괄호가 필요합니다. main -> main()
  • 소수구하기 . . . . 3 matches
         === 문제 정의 1 ===
         문제를 이렇게 정의했다.
         '''문제정의 1'''의 50000이하 소수를 구하는 소스중 남훈이의 소스에서 제곱근 연산을 넣고, 모든 인자를 static, 컴파일러 옵션을 최대로해서 돌렸다. 출력은 필요 없으므로, 시간과 갯수만 출력한다. (Duron 800 MS VS.NET 2003)
  • 이성의기능 . . . . 3 matches
         이성. 'reason' 의 단어에 대한 새로운 정의라 생각됨. (기존 철학에서 이성에 대해 대단한 정의를 내린 것을 볼때..)
         저자가 수학자이고 물리학자이면서 추후에 철학자가 되어서 그런지, 중간중간 물리학의 개념또는 수학이 추구하는 논리의 엄밀성에 대한 무게중심등이 보인다. 시간의 흐름. 역사를 '상향적 기운' 과 '하향적 기운' (이것은 물리에서의 엔트로피의 개념이 들어온 것 같다.) 으로 나누고, 그 중에서 '상향적 기운'. 즉 , 무질서도를 바로 잡으려는 노력에 대해 '이성'이라는 개념을 끌어온다. 삶에는 여러가지 정신이 존재하고, 이 정신은 일종의 '무정부적인 욕망'으로 보며, 그 무정부적인 욕망속에서 질서를 잡는 욕망중의 욕망을 '이성' 이라고 정의한다.
  • 정모/2011.4.11 . . . . 3 matches
          * 참여자 : [송지원], [김준석], [이원희], [김수경], [서지혜], [정의정], [강성현], [권순의], [윤종하], [신기호], [김태진], [장용운], [정진경], [송치완]
          * 태진 팀 : [송지원], [김수경], [정의정], [강성현], [권순의], [정진경], [김태진]
          * Ice Breaking .. 재밌는데 너무 시간이 오래 걸리는거 같습니다. 이거 오래하니까 뒤에 준비된 순서를 시간에 쫓겨서 하네요. 진경이 맨날 기숙사 엘리베이터에서 어색하게 인사만 하고 지나갔는데.. 오늘 보니 반가웠습니다. OMS의 영화에 나온 음악 하니까 최근에 영화관에서 레드 라이딩 후드 보다가 MUSE의 노래가 나오길래 깜짝 놀란 기억이 납니다. 영화도 되게 재밌었어요. 그리고 네이트 주소를 적어두질 못했는데 다시 한번 올려주시면 저도 파일방 이용을 좀...ㅎ 다음주 소풍 정말 기대됩니다. 항상 정모 나올 때마다 느끼는거지만 뭔가 하고 간다 라는 느낌을 확실히 받는거 같네요. 정모 준비하느라 고생하시는 회장님 감사합니다~ - [정의정]
  • 정모/2011.5.30 . . . . 3 matches
          * 참가자 : [김수경], [서지혜], [정의정], [권순의], [강성현], [김태진], [김준석], [송지원], [신기호]
          * [정의정]의 One Man Show
          * OMS 사실 주제 선정에 가장 어려움이 있었던 것 같네요..주제 정하고나서 녹화할라고 난리치다가 아랫집에서 항의가 들어와서 당황한 기억이; 데블스 캠프 연락처를 돌리면서 생각했습니다. 참여 해달라고 전화는 돌리면서 과연 난 잘 참여할 수 있을까? 음.. 항상 회고는 즐거운 것 같습니다. 새로운 시도가 좋네요. - [정의정]
  • 5인용C++스터디/소켓프로그래밍 . . . . 2 matches
          그리고 나서 추가한 멤버함수를 다음과 같이 정의한다.
         그리고 나서 추가한 멤버함수를 다음과 같이 정의한다.
  • AI오목컨테스트2005 . . . . 2 matches
         || 12/29 || 4시 칠피 || 2인용 오목/현태 || 사용자 정의 메시지 사용법 ,, [MFC/MessageMap] ,[MFC/Socket] || 태훈(레저 생활),민경 ||
          * [(hongryun2)사용자정의메시지사용]
  • APlusProject/PMPL . . . . 2 matches
         ==== 요구 사항 정의서 ====
         Upload:APP_RequirementDefinition_0526.zip - 정의서 최종문서 -- QA(윤주)에게 검토됨
  • AcceleratedC++/Chapter3 . . . . 2 matches
          * 중간값을 찾기 위해 먼저 해야할 작업 sort : algorithm 헤더에 정의되어 있다.
          * 끝내지 않는다면, size/2=0 이다. homework[0]은 정의되어 있지 않다. 그런 것이다.
  • AcceleratedC++/Chapter5 . . . . 2 matches
          * 표준 컨테이너에 정의 되어 있는 반복자의 종류는 다음 두가지다.
          * 하지만 임의 접근을 지원하지 않는 컨테이너에다 저짓하면 안된다. + 연산자가 정의되어 있지 않기 때문에 컴파일 에러 뜬다.
  • AcceleratedC++/Chapter8 . . . . 2 matches
          * 독자적 방식의 template 모델 Compiler : 최근의 방식. 인스턴스화를 위해서 STL 정의부에 대한 접근이 필요.
          STL은 이런 분류를 위해서 5개의 '''반복자 카테고리(iterator category)'''를 정의하여 반복자를 분류한다. 카테고리의 분류는 반복자의 요소를 접근하는 방법에따른 분류이며, 이는 알고리즘의 사용 유효성 여부를 결정하는데 도움이 된다.
  • Android/WallpaperChanger . . . . 2 matches
         다음 클래스 정의를 고려해 봅시다:
         여기서 주목해야 할 중요한 것은, 외부 클래스의 private 메소드와 private 인스턴스 필드에 직접 접근하고 있는 내부 클래스(Foo$Inner)를 정의했다는 것입니다. 이것은 적법하고, 코드는 기대했던 대로 "Value is 27"을 출력합니다.
  • Ant . . . . 2 matches
          일단 제일 처음 나오는 Root Element 로는 ''project'' 태그로 프로젝트 정의를 하는 곳이다.
          * ''property'' 태그 - 일종의 변수역할을 한다. 예제들을 보면 property 태그로 정의한 변수들이 어떻게 이용되는지 알 수 있다.
  • Ant/BuildTemplateExample . . . . 2 matches
          <!-- build 를 위한 속성변수들(property)들의 정의 -->
          <!-- 즉, ${src} 는 위의 property 에 정의한 "." 이 되며, ${build}는 "build". 즉, init 단계에서 만든 디렉토리가 된다. -->
  • AntTask . . . . 2 matches
          <!-- build 를 위한 속성변수들(property)들의 정의 -->
          <!-- 즉, ${src} 는 위의 property 에 정의한 "." 이 되며, ${build}는 "build". 즉, init 단계에서 만든 디렉토리가 된다. -->
  • BuildingWikiParserUsingPlex . . . . 2 matches
          urlHeader = Str("http://")
          url = urlHeader + stringUntilSpace
  • CPlusPlus_Tip . . . . 2 matches
         4. [Header 정의]
  • CodeCoverage . . . . 2 matches
         === 위키 패디아 에서 정의 ===
         몇가지 CodeCoverage 의 측정의 방법이 있다. 그중 중점적인것 몇가지를 보면
  • CppStudy_2002_2/STL과제 . . . . 2 matches
          * 10장에서 배운 연산자 재정의로 >,< 연산자를 재정의하면 객체도 sort에서 써먹을수 있다.
  • CreativeClub . . . . 2 matches
          * 참가자 : [권순의], [김수경], [김태진], [변형진], [정의정], [정진경]
          * [정의정] - 전시
  • DataCommunicationSummaryProject/Chapter8 . . . . 2 matches
          * PCU와는 다르게 SGSN을 네트워크에 연결하는데 명확한 기준이 정의 되어 있어서 운영자가 제조업자를 마음대로 고를 수 있다.
          * 그래서 나온것이 헤더를 Robust Header Compression(ROHC)라고 불리우는 기준으로 압축하는 것이다. - 헤더를 여러번 보내는 대신에 3세대 폰은 헤더는 한번만 보내고 나서 짧은 메시지를 보낸다.
  • DebuggingSeminar_2005/AutoExp.dat . . . . 2 matches
         Watch 창에서 표현되는 표현을 정의한 파일이다. (파일은 VC 디렉토리에서 검색을 하면 나온다.)
         살표보면 MFC, ATL, STL의 기본 데이터형이 Watch 윈도우 상에서 표현되는 형태가 정의되어 있음을 알 수 있다.
  • DoubleBuffering . . . . 2 matches
         == 정의 ==
         == 정의2 ==
  • Eclipse . . . . 2 matches
          * 기능으로 보나 업그레이드 속도로 보나 또하나의 Platform; 플러그인으로 JUnit 이 아에 들어간것과 리펙토링 기능, Test Case 가 new 에 포함된 것 등 TDD 에서 자주 쓰는 기능들이 있는건 반가운사항. (유난히 자바 툴들에 XP 와 관련한 기능들이 많이 추가되는건 어떤 이유일까. MS 진영에 비해 자바 관련 툴의 시장이 다양해서일까) 아주 약간 아쉬운 사항이라면 개인적으로 멀티 윈도우 에디터라면 자주 쓸 창 전환키들인 Ctrl + F6, Ctrl + F7 은 너무 손의 폭 관계상 멀어서 (반대쪽 손이 가기엔 애매하게 가운데이시고 어흑) ( IntelliJ 는 Alt + 1,2,3,.. 또는 Alt + <- , ->) 단축키들이 많아져 가는 상황에 재정의하려면 끝도 없으시고. (이점에서 최강의 에디터는 [Vi] 이다;) 개인적 결론 : [Eclipse] 는 Tool Platform 이다; --석천
          * 결론이 말이지. consortium에 이렇게 정의 되어 있다는.. 아 영어여...그리고 아예 Subproject에 Platform, JDT, PDE로 나누어 있구만. 부지런한 사람들 --상민
  • EnglishSpeaking/2011년스터디 . . . . 2 matches
          * 참가자 : [권순의], [김수경], [송지원], [정의정]
         || 날짜/이름 || 권순의 || 김수경 || 송지원 || 정의정 ||
  • Factorial2 . . . . 2 matches
         == 정의 ==
         A! = A * (A-1)! 식으로 정의되며, 1! = 1 입니다.
  • Gof/Adapter . . . . 2 matches
          - 클라이언트가 이용한 domain-specific한 인터페이스를 정의한다.
          - adapting이 필요한 현존하는 interface를 정의한다.
  • GoodNumber . . . . 2 matches
         ==== 정의 ====
         예를 들어 수자 22의 각 자리수의 합은 (2+2=4)입니다. 곱이 원래 수인 소인수는 (2*11=22)입니다. 이들 소인수의 각자리수의 합은 (2+1+1=4)입니다. 그래서 정의에 의해서 수 22는 good number입니다.
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 2 matches
         데이터 은닉이란 모듈이 그것이 갖는 기능들을 명세한 인터페이스(interface)를 통해서만 접근되고, 그 기능을 구현하는 방법은 다른 모듈로부터 은닉되도록 하는 것을 말한다. 캡슐화된 객체의 외부 인터페이스를 엄밀히 정의함으로써 독립적으로 작성된 모듈간의 상호 종속성을 극소화하여 캡슐화된 객체는 외부 인터페이스만을 통하여 접근될 수 있도록 한다면, 세부적인 구현 상세 사항에 대해서는 객체내에 은닉시킬 수 있다. 또한 캡슐화된 객체는 객체 구현내역을 변경, 혹은 향상시킬 때 이 객체를 사용하는 타 객체들을 변경하거나 다시 컴파일하지 않도록 할 수 있다. 또 모듈의 내부 구현 사항들이 외부의 접근으로부터 보호될 수 있음으로, 그 객체의 정당성을 보증할 수 있으며, 오류가 발생되었을 경우에 오류는 한 모듈내로 국지화될 수 있다.
         상속이란, 기존에 만들어 놓은 객체들로 부터 모든 변수와 메소드를 물려 받아 새로운 객체를 만들 수 있다는 것을 뜻한다. 즉, 새프로그램을 만들 때 기존의 자료를 이용해(상속받아) 새롭게 정의하여 사용한면 된다는 것이다. 이로인해 부수적으로 프로그래밍의 노력이 줄고 시간 단축되며 그리고 OOP의 가장 중요한 재사용성(Reusability) 얻을 수 있다. 델파이는 TObject라는 최상위 객체로부터 상속시켜 단계적으로 하위 객체들을 생성해 만들어진 구조를 지니고 있다.
  • HardcoreCppStudy/첫숙제/Overloading/임민수 . . . . 2 matches
         함수의 중복정의라 함은
         함수의 이름은 같게 하되 전달인자들의 개수나 형식에 따라 다르게 사용될 수 있도록 정의하는것을 말함..
  • HelpOnLists . . . . 2 matches
         == 정의 ==
         /!\ 정의 문법은 자주 쓰이지 않는 문법이며 모인모인 호환용 문법입니다. 1.1.3CVS에 포함된 monimarkup.php에서 아직 지원하지 않습니다.
  • HolubOnPatterns/밑줄긋기 . . . . 2 matches
          * 단순함 , 완전성 그리고 수정의 용이성이란 세가지 요구 사항은 상충되기도 한다.
          * 좋은 클래스는 getter와 setter메소드를 갖지 않는데, 이런 메소드는 구현 상세를 노출시키기 때문에 결과적으로 유지 보수를 어렵게 만들기 때문이다. 예를 들어 getter 메소드의 리턴 타입이 바뀌게 되면 getter를 정의하는 객체뿐 아니라 'getter'를 호출하는 모든 코드 또한 바꾸어 주어야 한다. 잠시 후에 getter와 setter 메소드 없이 시스템을 디자인하는 방법에 대해 설명할 것이다. 기대해도 좋다.
  • InsideCPU . . . . 2 matches
         GDTR은 GDT (Global Descriptor Table)을 정의하기 위한 레지스터이다. GDT의 용도는 무엇인가? 글로벌 메모리는 어떠한 태스크라도 접근 가능한 메모리를 말한다. 그리고 이를 정의하는 레지스터가
  • Java2MicroEdition . . . . 2 matches
         컨피규레이션이란 자바 가상머신과 코어 API들에 대한 명세를 의미하고, 프로파일은 그 상위의 클래스 라이브러리, 즉 표준 API 집합에 대한 명세를 의미한다. 이러한 개념적인 분할이 필요한 이유는 메모리와 CPU등의 크기와 성능이라는 측면에서의 요구사항이 동일한 디바이스들의 집합을 하나로 묶어서 컨피규레이션을 정의하고, 이러한 컨피규레이션을 바탕으로 각 디바이스들의 기능, 혹은 버티컬 시장의 요구사항에 맞추어 프로파일을 정의함으로써, 플랫폼의 통일성과 다양성을 동시에 만족시킬 수 있기 때문이다.
  • JavaScript/2011년스터디 . . . . 2 matches
          * 참가자 : [김수경], [박정근], [김광순], [정진경], [정의정], [김태진]
         || 날짜 || [김수경] || [박정근] || [정진경] || [정의정] || [김광순] ||[김태진]||
  • JavaStudy2004/자바따라잡기 . . . . 2 matches
          *1. 최근의 컴퓨터 분야의 용례에서, 가상머신은 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다. 자바 가상머신이 일단 한 플랫폼에 제공되면, 바이트코드라고 불리는 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다. 자바는, 응용프로그램들이 각각의 플랫폼에 맞게 재작성 되거나, 다시 컴파일하지 않아도 모든 플랫폼에서 실행되는 것을 허용하도록 설계되었다. 자바 가상머신이 이를 가능하게 한다. 자바 가상머신의 규격은 실제 "머신"(프로세서)이 아닌 추상적인 머신을 정의하고, 명령어 집합, 레지스터들의 집합, 스택, 가배지를 모은 heap, 그리고 메쏘드 영역 등을 지정한다. 이러한 추상적, 혹은 논리적으로 정의된 프로세서의 실제 구현은, 실제 프로세서에 의해 인식되는 다른 코드, 혹은 마이크로프로세서 그 자체에 내장될 수도 있다. 자바 소스 프로그램을 컴파일한 결과를 바이트코드라고 부른다. 자바 가상머신은, 실제 마이크로프로세서의 명령어에 그것을 대응시키면서 한번에 한 명령어씩 바이트코드를 해석하거나, 또는 그 바이트코드는 실제 마이크로프로세서에 맞게 JIT 컴파일러라고 불리는 것을 이용해 나중에 컴파일될 수도 있다.
  • LIB_1 . . . . 2 matches
          LIB_TIME_RATE(); // 타이머를 정의하고
         여기까지는 태스크에 대한 정의만 나왔다.[[BR]]
  • LUA_6 . . . . 2 matches
          메타 테이블은 루아에서 테이블을 사용하는 연산자 재정의? 또는 python을 예로 들면 __add__, __sub__ 와 같은 함수라고 볼 수 있습니다. 테이블을 함수가 아닌 연산자로 조작 할 수 있게끔 해 줍니다.
         __metatable : metatable을 보호하기 위한 metatable 프로그램이 metatable을 수정하지 못하도록 하기 위해 재 정의 해주면 된다.
  • Linux/디렉토리용도 . . . . 2 matches
          * /etc/gnome : GTK+ 정의파일들이 있음.
          * /etc/profile.d : 쉘 로그인 하여 프로파일의 실행되는 스크립트에 대한 정의가 있음.
  • LinuxProgramming/SignalHandling . . . . 2 matches
         위키 페디아의 정의를 빌리자면 시그널은 '''한 프로세서와 기타 다른 프로세스 사이에 전송되는 비동기적 이벤트''' 라고 한다.
         이미 OS 에서 모든 처리를 다해주기 때문에 프로그래머는 핸들러만 정의하면 만사 OK다
  • MFC/CollectionClass . . . . 2 matches
         객체의 컬렉션을 정의하는 템플릿 클래스는 MFC의 CObject클래스에서 파생된다. 이런 템플릿 클래스는 기본 데이터 형식이나 사용자가 정의한 클래스, 구조체를 포함한 어떠한 종류의 객체도 저장, 관리하는 것이 가능하다. 이런 클래스들은 내부적으로 복사를 하기 때문에 복사생성자를 만들어야 한다.
  • MFC/Print . . . . 2 matches
          뷰클래스의 5개의 멤버함수는 프로그래머가 재정의 해야한다. 최소한 5개중에서 OnPreparePrinting(), OnPrepareDC(), OnPrint()는 구현해야한다.
         || m_rectDraw || CRect 객체. 페이지에서 사용 가능한 영역을 논리 좌표로 정의 한다. ||
  • MFC/Serialize . . . . 2 matches
         매크로는 클래스의 이름을 인수로 받는다. 따라서 만약 CExample 에 직렬화 기능을 추가한다면 CExample 의 정의부의 내부 어느 곳에서나
         이후에 클래스 정의를 수정한다면 스키마 번호를 바꾸어야 한다. (다른 버전의 파일을 읽으려 하면 예외를 발생시킨다.
  • MFCStudy_2001/MMTimer . . . . 2 matches
          * 콜백 함수를 정의한것입니다. 콜백 함수내에서는 복잡한 일은 하지 않는게 정신건강에 좋다고 합니다.[[BR]]
          - 어플리케이션은 콜백 함수 내부로부터 다음 함수를 제외하고는 시스템 정의 함수를 부를 수가 없다. : PostMessage, timeGetSystemTime, timeGetTime, timeSetEvent, timeKillEvent, midiOutShortMsg, midiOutLongMsg, and OutputDebugString.[[BR]]
  • MicrosoftFoundationClasses . . . . 2 matches
         Microsoft Foundation Classes 를 줄여서 부른다. 기정의된 클래스의 집합으로 Visual C++이 이 클래스들을 가반으로 하고 있다. 이 클래스 군은 MS Windows API를 래핑(Wrapping)하여서 객체지향적 접근법으로 프로그래밍을 하도록 설계되어 있다. 예전에는 볼랜드에서 내놓은 OWL(Object Windows Library)라는 것도 쓰였던 걸로 아는데... -_-; 지금은 어디로 가버렸는지 모른다. ㅋㅋ
         하나의 단위로서 다루어지는 프로그람안에 존재하는 프로그램 데이터의 레이블 정도로 생각하면 편하다. MFC에서는 이를 CDocument 라는 클래스로 제공하고 프로그래머는 이 클래스를 상속받아서 자기가 필요한 데이터형을 정의하고 그 데이터를 처리할 메소드를 작성하게 된다.
  • MockObjects . . . . 2 matches
          -> MockObjects 자체가 인터페이스정의를 위한 도구로 이용할 수 있다. (TestFirstProgramming 에서는 Test Code가 일종의 인터페이스를 정의하기 위한 방법으로 이용된다.)
  • MoreEffectiveC++ . . . . 2 matches
         - 사용자 정의의 변환 함수 사용
          * Item 5: Be wary of user-defined conversion functions. - 사용자 정의 형변환(conversion) 함수에 주의하라!
  • NeoCoin/Server . . . . 2 matches
          * X설치시, nvidia 그래픽 카드에서는 {{{~cpp dpkg-reconfigure xserver-xfree86}}} 으로 fram buffer 를 비활성화 시켜야 했다. 여기에서 dpkg로 정의된 세팅이 정의된 페키지도 있다는 것을 알았다.
         make-kpkg kernel_headers
  • NoSmokMoinMoinVsMoinMoin . . . . 2 matches
         || . || Header 태그 이용시 자동으로 번호 붙음(해제 가능) || . || 때에따라선 불편한 기능. Header 작은 태그들을 꼭 큰 태그 써야만 쓸 수 있으니 쩝||
  • ObjectWorld . . . . 2 matches
         두번째 Session 에서는 세분이 나오셨습니다. 아키텍쳐란 무엇인가에 대해 주로 case-study 의 접근으로 설명하셨는데, 그리 명확하지 않군요. (Platform? Middleware? API? Framework? Application Server? 어떤 걸 이야기하시려는것인지 한번쯤 명확하게 결론을 내려주셨었더라면 더 좋았을 것 같은데 하는 아쉬움.) 아키텍쳐를 적용하는 개발자/인지하는 개발자/인지하지 못한 개발자로 분류하셔서 설명하셨는데, 저의 경우는 다음으로 바꾸어서 생각하니까 좀 더 이해하기가 쉬웠더라는. '자신이 작업하는 플랫폼의 특성을 적극적으로 사용하는 개발자/플랫폼을 이해하는 개발자/이해하지 못한 개발자' 아직까지도 Architecture 와 그밖에 다른 것들과 혼동이 가긴 하네요. 일단 잠정적으로 생각해두는 분류는 이렇게 생각하고 있지만. 이렇게만 정의하기엔 너무 단순하죠. 해당 자료집에서의 Architecture 에 대한 정의를 좀 더 자세히 들여다봐야 할듯.
  • OpenGL스터디 . . . . 2 matches
          * openGL은 데이터타입을 내부적으로 정의 하고 내부에서 쓰고 있다. 이는 역시 일반적인 임플리먼테이션을 고수하기 위해서임은 당연한 사실이다.(각 환경마다 데이터 형식이 다르기 때문에 이를 모두수용하기 위해서는 자체적으로 정의한 데이터형식을 쓸 수 밖에 없다.)
  • OperatingSystemClass/Exam2006_2 . . . . 2 matches
         4. Log based file system의 정의와 에러 복구 시 어떻게 연동되는지 쓰시오
         5. Raid의 정의와, 사용하는 이유, 각 레벨 별 특징을 약술하시오.
  • OurMajorLangIsCAndCPlusPlus/errno.h . . . . 2 matches
         ||33||int EDOM||도메인 에러; 인수의 값이 정의된 함수를 지나 도메인에게 전달되지 않았을 때 수학적 함수에 의해 사용된다.||
         ||40||int ENOSYS||함수가 이행되지 않았다. 어떤 함수들은 정의된 옵션이나 명령들이 어떤것에서도 지원되지 않는 것이 있다. 만약 요청한 함수에서 이런 에러를 얻는다면 그것들은 지원되지 않는 것이다.||
  • PC실관리/고스트 . . . . 2 matches
          * '''CAUCSE''' 계정의 경우 현재 디폴드 암호가 없는데 기본 암호를 만들고 '''control userpasswords2'''를 이용해서 기본 부팅시 자동 접속이 되도록 설정해야함
          이 계정의 경우 Users 로 계정을 제한해서 프로그램의 설치및 제거에 제한을 두어야 차후에 문제가 발생하지 않을 것으로 생각됨.
  • Polynomial . . . . 2 matches
          다항식을 표현하는자료구조는 크게 두가지로 생각해 볼 수 있다. linked list 와 array 이다. 배열은 모두들 잘 알겠고 linked list 는 동적으로 storage를 할당받아 각 노드를 포인터로 연결한 자료구조를 말한다..(라고 우선 설명만 해둬야지 정확한 정의는 내리지 못하겠다..-_-). 물론 동적으로 할당받지 않고도 linked list 를 구현할수 있지만 그럴꺼면 배열로 하는게 낫지 그 노가다를 뭐하러 하나...-_-
          // 위의 정의한 구조체에 포인터 변수 두개가 더 필요하다.
  • ProjectZephyrus/ClientJourney . . . . 2 matches
          * 이번 프로젝트의 목적은 Java Study + Team Project 경험이라고 보아야 할 것이다. 아쉽게도 처음에 공부할 것을 목적으로 이 팀을 제안한 사람들은 자신의 목적과 팀의 목적을 일치시키지 못했고, 이는 개인의 스케줄관리의 우선순위 정의 실패 (라고 생각한다. 팀 입장에선. 개인의 경우야 우선순위들이 다를테니 할말없지만, 그로 인한 손실에 대해서 아쉬워할정도라면 개인의 실패와도 연결을 시켜야겠지)로 이어졌다고 본다. (왜 초반 제안자들보다 후반 참여자들이 더 열심히 뛰었을까) 한편, 선배의 입장으로선 팀의 목적인 개개인의 실력향상부분을 간과하고 혼자서 너무 많이 진행했다는 점에선 또 개인의 목적과 팀의 목적의 불일치로서 이 또한 실패이다. 완성된 프로그램만이 중요한건 아닐것이다. (하지만, 나의 경우 Java Study 와 Team Project 경험 향상도 내 목적중 하나가 되므로, 내 기여도를 올리는 것은 나에게 이익이다. Team Project 경험을 위해 PairProgramming를 했고, 대화를 위한 모델링을 했으며, CVS에 commit 을 했고, 중간에 바쁜 사람들의 스케줄을 뺐다.) 암튼, 스스로 한 만큼 얻어간다. Good Pattern 이건 Anti Pattern 이건.
          * 중간 중간 테스트를 위해 서버쪽 소스를 다운받았다. 상민이가 준비를 철저하게 한 것이 확실히 느껴지는 건 빌드용/실행용 배치화일, 도큐먼트에 있다. 배치화일은 실행한번만 해주면 서버쪽 컴파일을 알아서 해주고 한번에 실행할 수 있다. (실행을 위한 Interface 메소드를 정의해놓은것이나 다름없군.) 어떤 소스에서든지 Javadoc 이 다 달려있다. (Coding Standard로 결정한 사항이긴 하지만, 개인적으로 코드의 Javadoc 이 많이 달려있는걸 싫어하긴 하지만; 코드 읽는데 방해되어서; 하지만 javadoc generator 로 document 만들고 나면 그 이야기가 달라지긴 하다.)
  • ProjectZephyrus/ServerJourney . . . . 2 matches
          * 현재 상태에서는 속도에는 신경 쓰지 말자, 일단 구조만 잘 정의 해놓으면, 개선 사항은 얼마든지 체계적으로 생각 날것이라고 생각 된다. 현재는 체계적으로 생각 나지 않지 않그런가? 당장 그날 구현만 해도 JDBC의 몇가지 api로 중복 부분의 속도 개선의 여지가 보이는데, 너무 많이 생각하면 해골 복잡하니, '''기능 구현''' 에만 중점을 두자. 이제 DB는 인터페이스만 정의 하면 완전 따로 놀수 있을것 같다. --상민
  • STL . . . . 2 matches
         "[STL] 컨테이너는 포인터를 염두에 둬두고 설계된 것이 아니라, 객체를 담을 목적으로 설계된 자료 구조이다." 이 말을 너무 늦게 봤네요ㅠ_ㅠ 기본 데이터 타입 이외에 사용자 정의 데이터 타입(분류_[class])의 포인터를 사용하기 위해서는 상당한 노력이 필요 할것 같습니다. 혹시 쉬운 방법은 없나요? - [이승한]
          "사용자 정의 데이터 타입의 포인터를 사용하기 위해서는 상당한 노력이 필요할 것 같습니다" - 어떤 뜻인지? 힘들었던 예를 코드로 써주면 더 명확할 듯.~ --[1002]
  • TCP/IP 네트워크 관리 / TCP/IP의 개요 . . . . 2 matches
          *''OSI참조 모델''은 데이터 통신 프로토콜의 기능을 정의하는 7개의 계층(layer)을 포함
          *Physical layer : 네트워크 미디어의 물리적 특성을 정의
  • TeachYourselfProgrammingInTenYears . . . . 2 matches
         Pascal:3일간으로, Pascal 의 문법을 배우는 것은 가능할지도 모르는(유사한 언어를 이미 알고 있으면)가, 그 문법의 이용법까지는 충분히는 배울 수 없다.즉, 예를 들면 당신이 Basic 프로그래머이다고 하여, Basic 스타일로 Pascal 의 문법을 이용한 프로그램의 쓰는 법을 배울 수 있을지도 모르지만, Pascal 가 실제의 곳, 무엇에 향하고 있을까(향하지 않은가)를 배울 수 없다.그런데 여기서의 포인트는 무엇일까? Alan Perlis(역주1) 은 일찌기, 「프로그래밍에 대한 생각에 영향을 주지 않는 것 같은 언어는, 아는 가치는 없다」라고 말했다.여기서 생각되는 포인트는, 당신이 Pascal(그것보다 어느 쪽일까하고 말하면 Visual Basic 나 JavaScript 등의 (분)편이 현실에는 많을 것이다)를 그저 조금 배우지 않으면 안 된다고 하면(자), 그것은 특정의 업무를 실시하기 위해서(때문에), 기존의 툴을 사용할 필요가 있기 때문일 것이다.그러나, 그러면 프로그래밍을 배우는 것으로는 되지 않는다.그 업무의 방식을 배우고 있을 뿐이다.
         프로그램을 쓰는 것.학습하는 최고의 방법은,실천에 의한 학습이다.보다 기술적으로 표현한다면, 「특정 영역에 있어 개인이 최대한의 퍼포먼스를 발휘하는 것은, 장기에 걸치는 경험이 있으면 자동적으로 실현된다고 하는 것이 아니고, 매우 경험을 쌓은 사람이어도, 향상하자고 하는 진지한 노력이 있기 때문에, 퍼포먼스는 늘어날 수 있다」(p. 366) 것이며, 「가장 효과적인 학습에 필요한 것은, 그 특정의 개인에게 있어 적당히 어렵고, 유익한 피드백이 있어, 게다가 반복하거나 잘못을 정정하거나 할 기회가 있는, 명확한 작업이다」(p. 20-21)의다(역주3).Cambridge University Press 로부터 나와 있는 J. Lave 의「Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life」(역주4)라고 하는 책은, 이 관점에 대한 흥미로운 참고 문헌이다.
  • TestDrivenDevelopmentBetweenTeams . . . . 2 matches
         Java 의 경우 inteface 키워드나 abstact class 를 이용하여 interface 를 정의할 수 있다. 팀의 구성원끼리 Pair를 교체한 뒤 interface를 정의하면 더욱 효과적이겠다.
  • UploadFileMacro . . . . 2 matches
         모니위키의 {{{[[UploadFile]]}}} 매크로는 업로드 된 파일을 {{{$upload_dir}}}로 정의된 디렉토리에 각 페이지별 디렉토리를 생성시키고, 그 디렉토리에 업로드된 파일을 저장한다.
         $pds_protected="pl|cgi|php"; # config.php에 정의하지 않았을 때의 기본값.
  • VisualStuioDotNetHotKey . . . . 2 matches
         닷넷은 단축키는 {{{~cpp 도구 - 옵션 - 환경 - 키보드}}} 에서 재정의하거나 검색해 볼수 있다.
         ==== 정의로 이동 ====
  • XpWeek/ToDo . . . . 2 matches
          [[HTML(<strike>)]] 개발자 - CodingStandard정의 [[HTML(</strike>)]]
          ==== 개발자 - CodingStandard정의 ====
  • Yggdrasil/가속된씨플플/2장 . . . . 2 matches
          * 루프불변식(loop invariant): while문이 그 조건식을 검사하는 매 경우에 대하여 참일 것이라고 가정하는 속성. 처음에 이걸 보고, 이런 개념도 있었냐고 생각했음. 루프불변식은 코드는 아니고 주석에 해당하며, while문이 진행되면서 while문의 제일 처음과 끝에서 루프의 내용이 의도한 대로 돌아간 건지를 정의한 문장이다.(말로 설명하기 애매한 듯...) 하여튼 이것을 쓰는 이유는 루프문을 제대로 설계하기 위해서. 아래의 코드는, 책에 있는 코드로, 불변식의 예이다.
         std::string::size_type//unsigned형의 멤버변수로, 담을 수 있는 최대 문자 갯수를 저장한다. 글자수에 알맞는 type으로 알아서 정의하는 듯.
  • Yggdrasil/가속된씨플플/4장 . . . . 2 matches
          * 이렇게 사용하고, compare의 정의부는,
          * max()라는 함수가 의심스럽다. 분명 msdn에도 algorithm헤더에 있다고 했는데 컴파일하면 자꾸 정의되지 않은 이름이라 에러를 뱉어낸다. 이 함수의 정체는?
  • ZPBoard/PHPStudy/기본문법 . . . . 2 matches
          * define() 을 사용하여 정의할 수 있으며, 변수와는 달리 한번 정의된 뒤로는 변경할 수가 없다.
  • ZeroPageServer/AboutCracking . . . . 2 matches
          * '''증상 : 개인 개정에 기본 설정의 설치된 squid 2.4 stable tar 의 proxy 서비스를 최초로 사용한 후 얼마 지나지 않아, 알수 없는 메일 서버로(port 25) 데이터가 날아가는 mail rely 증상 보임 '''
          * 모 회원 계정의 squid 를 들수 있다. netstat 로 상태를 살피면, 기본 squid 세팅으로 proxy 를 이용하면, 상대의 smtp port인 25 번으로 계속 뭐가 발송되었다. 기본 세팅 변경후에 그 발송되는 상태가 없었다. 하지만, squid 로 이렇게 된다는 것이 보고된 사례를 찾지 못했고, stable 버전 자체에 그런 기능이 숨어 있다는 것은 생각하기 어렵다.
  • ZeroPage소개 . . . . 2 matches
          * 잘 써주신 분에게는 소정의 보상을 드릴 계획...이니 많이 참여해서 써 주시면 감사하겠습니다.
         여러가지 힘든 여건 속에서도 뜻이 있는 사람들의 수고와 노력으로 지금까지 이어져 온라인/오프라인 활동을 계속하고 있습니다. 지금까지의 ZeroPage 는 ZeroPage를 거쳐간 사람들이 만들어놓은, 혹은 현재 활동중인 사람들의 과정에 대한 결과이며, 다시 많은 사람들에 의해 재창조되고 새로운 모습을 만들어나가게 될 것입니다. 언제나 '현재 진행형' 중인 학회이기를. 이 정의 또한 사람들이 스스로 깨뜨리고, 더 좋은 방향으로 바꾸어나가기를.
  • ZeroPage정학회만들기 . . . . 2 matches
          * ps. 근데, 정학회 관련 정의는 어디 되어있는것임? 학생회칙에 학회관련 조항이 없음. 그냥 교수님 재량인가? 아니면 원래 문서가 있는건지. 만일 일을 할거라면 이에 대해서 알아보셔야 할듯. --["1002"]
          정확히는 '정학회'라는 용어가 아니라(어느 곳에도 정학회의 정의는 없으니.. 학과장님께서도 '정학회가 먼가?' 라고 하셨을 정도입니다...--; ) '지도교수님을 모시는 학회'가 된다고합니다. 정도가 될 것 같네요.. 아마 보기에는 '도움이 될것이다. 타 학우들에게 영향을 못미친다. 그저 그렇다.' 등등 의 관계성과 영향력의 정도를 묻는 보기나 '찬성한다. 반대한다. 관심없다.' 정도의 관심유무, 찬반의견을 묻는 보기쯤이 나올 듯합니다. 더 좋은 보기가 있었으면 좋겠는데.. 잘 생각이 나질 않습니다..^^; --창섭
  • ZeroPage회칙 . . . . 2 matches
         === 제2조(정의) ===
         본 회칙에 나오는 용어는 다음의 정의에 따른다.
  • programmer . . . . 2 matches
         제가 생각하는 것은 의미보다는 범주를 염두에두고 범주의 정의를 확실히 해둘 필요가 있는거 같애서 적었는데, 상당히 애매할꺼 같군요. ["nautes"]
         제가 표현하고자했던 말은 누구를 프로그래머라고 부를 수 있냐는 것이였습니다. 초보/중급/ 이런건 생각해보지 않았는데, 그렇게도 여길 수 있겠군요. 너무 막막하죠. "프로그래밍 언어를 이용하여서 현재 프로그램을 만들고 있거나 가까운 시일내에 만들 사람" 먼저 간략히 이정도만 정의해놓죠.
  • 가독성 . . . . 2 matches
         글을 작성하신 분과 제가 생각하는 '가독성'에 대한 정의가 다른게 아닌가 합니다. 코드를 글로 비유해 보자면(저는 비유나 은유를 좋아한답니다) 이영호님께서는 ''눈에 거슬리지 않게 전체적인 문장이 한눈에 들어오는가''를 중요하게 생각하시는 것 같습니다. 저는 가독성이라는 개념을 ''문장들이 얼마나 매끄럽고 문단과 문단의 연결에 부적절함이 없는가''에 초점을 맞추고 있습니다. 문단의 첫 글자를 들여쓰기를 하느냐 마느냐가 중요한 것이 아니고 그 문단이 주제를 얼마나 명확하고 깔끔하게 전달해 주느냐가 중요하다는 것이죠. CollectiveOwnership 을 위한 CodingConventions와 글쓰기를 연계시켜 생각해 보자면 하오체를 쓸것인가 해요체를 쓸것인가 정해두자 정도가 될까요? 제가 생각하는 가독성의 정의에서 brace의 위치는 지엽적인 문제입니다. SeeAlso Seminar:국어실력과프로그래밍
  • 간단한C언어문제 . . . . 2 matches
         안옳다. 메인함수 정의가 잘못되어있다. -yahar
         옳지않다. 함수의 프로토 타입이 정의되지 않았기 때문에 return형이 int형으로 바뀐다. 프로토타입은 return 타입을 컴파일러에서 알기 위해 쓰이는 것이다. - [이영호]
  • 강성현 . . . . 2 matches
          * AttackOnKoala 팀 (강성현, [정의정], [정진경]) 으로 참가. 교내 1위 (단독 본선 진출)
          * 정보통신산업진흥원(NIPA) IT/SW 창의연구과정의 일부
  • 구구단 . . . . 2 matches
         하지만, 이 페이지는 구구단을 출력하는 프로그램에 정의 페이지 입니다.
         == 문제 정의 ==
  • 논문번역/2012년스터디/신형준 . . . . 2 matches
         R^n에서의 같음과 스칼라 곱과 벡터 합 의 연산자들은 R^2에서 와 같이 entry와 entry에 대응하여 정의되어 집니다. 이 벡터들에 대한 연산자들은 실수에대한 대응하는 속성들로부터 직접적으로 증명할 수 있는 다음의 속성들을 가집니다. Practice Problem 1과 Exercises 33 그리고 34 (이 섹션 마지막에 있는) 을 보십시오.
         R^n에서 v1,v2,.....,vp 의 주어진 벡터와 주어진 스칼라들 c1,c2,....,cp에 대해서, 벡터 y는 y = c1v1+ .... + cpvp로써 정의되어 집니다.
  • 데블스캠프2005/RUR-PLE . . . . 2 matches
          * 아래와 같이 def 를써서 함수를 정의할 수 있다.
          * 위의 if문과 함수 정의, repeat를 사용하여 아래 화면과 같은 상황을 처리한다.
  • 데블스캠프2011/다섯째날/후기 . . . . 2 matches
         === 정의정 ===
         === 정의정 ===
  • 데블스캠프2012/첫째날/후기 . . . . 2 matches
          * {{{M[FV]C}}} 앞에서 무너지는 정의정 군을 보았습니다.
         = [정의정] =
  • 데블스캠프2013/넷째날/후기 . . . . 2 matches
         [서민관], [박희정], [김해천], [김남규], [백주협], [김현빈], [임지훈], [권영기], [조영준], [강성현], [원준연], [김태진], [김도형], [정의정], [장혁재], [장혁수], [고한종], [안혁준], [송바위샘], [송지원], [박성현], [김수경], [변형진], [김홍기], [임구근], [강석천], [권순의], [이승한], [정진경], [이예나], [이봉규], [김윤환], [정성우], [정종록]
         = 정의정 / MVC와 Observer 패턴을 이용한 UI 프로그래밍 =
  • 만세삼창VS디아더스1차전 . . . . 2 matches
          바보 언어 에 있든 없든 먼상관이냐. 혹시 니 언 는 사용자 정의 타입이 없는거 아니냐 후진 것 같으니라고
          타입도 정의 안되있고
  • 문서구조조정토론 . . . . 2 matches
          직접 바꾸건, 누군가 바꾸어 주느냐의 문제가 아니고, 또 단순히 글 자체에 대한 의도가 맞지 않아졌음을 이야기하는게 아닙니다. 문서 조정의 결과로 어울리지 않는 내용이 나타나는것 보다 큰 문제는, 다른 이들에게 잘못된 이야기들을 파생시킬 수 있는 점입니다. --이선우
         '문서 조정은 문서 작성자가 손대지 말아야 한다' 라는 어처구니 없는 내용을 어떻게 끌어냈는지 모르겠습니다. 어느 부분에서 도대체 '구조 조정은 구조 조정자의 몫이다'라는 식의 이야기를 했다는지 궁금하군요. 제 이야기는 현재의 잘잘못을 따지고, '문서 구조 조정은 ''누군가 그 일을 할 사람''이 알아서 해라'라는 식의 이야기가 아닙니다. 문서는 누구나가 노력을 해서 고쳐가되, 다만 문서 구조 조정자는(누가됬건 현재 문서를 구조 조정하고 있는 사람은), 자신이 한 결과에 따라 어울리지 않는 글이 될 수 있으므로 해당 문서 구조 조정의 시점에서 더 신경을 써야 한다는 뜻입니다. 물론, 해당글의 작성자가 나중에 발견하고 이를 고칠수도 있지만, 처음 시점부터 좀 더 신경을 쓰는 방법이 효과적이라 생각한 이유입니다. 한번 더 강조하자면, 문서 구조 조정자가 신경을 쓸 필요가 있다라는 이야기가 해당 글의 작성자 자체가 '나는 문서를 구조조정할 필요가 없다'라는 의미는 절대 아님을 이야기합니다. 모로가도 서울만 가면 되지만, 더 편한 방법이 있다면, 그런 방법을 택하는게 자연스러운건 자명한 이치입니다. --이선우
  • 빵페이지/숫자야구 . . . . 2 matches
         == 문제 정의 ==
          DeleteMe 내용이 중복되어서 문제정의와 참고자료 부분을 지웠습니다. 위키라는 지식 풀속에 중복되는 지식은 링크로 충분하겠지요. 아래의 문제들 역시 {{{~cpp 숫자야구/유주영}}} 식으로 하는 편이 차후 접근성 측면에서 더 좋을것 같습니다.--NeoCoin
  • 삼총사CppStudy/Inheritance . . . . 2 matches
         class CMarine // 마린을 정의한 클래스
         class CFirebat // 파이어뱃을 정의한 클래스
  • 상협/학문의즐거움 . . . . 2 matches
          * 바로 이거다.. 옛날부터 생각은 했는데 실천을 못한거.. 나는 나일 뿐이다. 그 누구보다 못한 나도 아니오 그 누구보다 잘난 나도 아니오 나는 다른 사람을 통해서 정의하는 나가 아니라 나 자신으로서 정의할 수 있는 나이다.
  • 새싹교실/2011/AmazingC/6일차 . . . . 2 matches
          * 함수의 선언부=정의부가 될 수 있다.
          * sum2의 경우 호출시 메인함수 위에 선언이 되어있나 확인한 다음 sum2의 정의부를 실행한다!!
  • 새싹교실/2011/GGT/L1&L2 . . . . 2 matches
         == 강사 : 정의정 ==
         == 강사 : 정의정 ==
  • 새싹교실/2011/무전취식/레벨5 . . . . 2 matches
          * 예) int -> float, float -> int로 자동변환되는것을 automatically type casting 이라 PPT에 정의되어있습니다.
          * Call-By-Value의 정의를 가르켜주었습니다.
  • 새싹교실/2011/무전취식/레벨8 . . . . 2 matches
          * Struct(구조체) : 간단하게 사용자 정의 배열이라고했습니다.
          * 구조체란...? 사용자 정의배열이지.
  • 새싹교실/2012/AClass/3회차 . . . . 2 matches
         - *a가 b를 가리키는 포인터도 선언 되었다면, &a는 a의 주소값, a는 메모리 안에 있는 값(즉, b의 주소값-포인터의 정의), &b는 b의 주소값, b는 메모리 안에 있는 값(할당한 값),a=&b와 같다. 둘다 b의 주소값을 나타낸다.*a=b와 같고 b에 할당한 값과 같다.
         구조체란 하나 이상의 변수를 그룹 지어서 새로운 자료형을 정의하는 것이다.
  • 새싹교실/2012/아우토반/앞반/5.10 . . . . 2 matches
          * 함수의 정의
          * 함수의 선언, 정의 호출의 의미
  • 새싹교실/2012/열반/120319 . . . . 2 matches
          * printf 함수가 명시적으로 정의되지 않았기 때문에 컴파일에 실패하거나, 경고가 뜸.
          * [정진경] : 리눅스 터미널 환경에서 진행했는데, 컴파일 하는 과정이나 편집하는 과정의 설명은 생략했습니다. 검은 화면에 흰 문자열이 큰 거부감을 일으키는 것 같지는 않습니다. 아무래도 준비가 빈약하다보니 뭘 가르쳐야 할지 모르겠습니다. 일단 상세한 문법이나 C 표준에 대한 설명은 뒤로 미루는 것이 좋을 것 같고, 일정 수준 이상의 프로그래밍을 스스로 할 수 있을 정도로 실력을 끌어올리는 것에 집중해보려 합니다. 또한 중간중간에 코드를 작성한 것에 대한 출력을 물어보면서 알고 있는지 확인하는 과정이 중요한 것 같습니다.
  • 위키를새로시작하자 . . . . 2 matches
         그래서 ZeroWiki 를 막아버리고, Wiki를 새로 시작하면서, 함께 예절과 규칙을 만들어 나가면서 위갭?다시 시작하는것이 어떨까 싶습니다. 현 ZeroWiki는 읽기만 가능하고, 새로운 위키는 읽기, 쓰기, 삭제(로그인 한 사용자만) 모두를 열어둘 생각입니다. 현 ZeroWiki 상의 예절이나, 규칙은 필요에 따라 재사용, 새롭게 정의 하려고 합니다.
          NeoCoin : 방법은, 현재 위키를 읽기 전용으로, 새로운 위키를 읽기, 쓰기, 지우기 다 열고 새로운 문화, 예절이 만들어 지는 모습을 경험하고 싶습니다. 읽기 전용의 위키의 내용은 전이되거나, 그대로 남거나, NoSmoke:SisterWiki (차후 연결) 하거나 하고 싶습니다. 더 나아가, 모든것에 대한 재정의와 다시금 생각해 보기를 해보았으면 합니다.
  • 이승한/.vimrc . . . . 2 matches
         "전역변수/구조체/정의상수/함수정의를 추적해줍니다.
  • 작은자바이야기 . . . . 2 matches
          * transient modifier는 VM의 자동 직렬화 과정에서 특정 속성을 제외할 수 있고, Externalizable 인터페이스를 구현하면 직렬화, 역직렬화 방식을 직접 정의할 수 있음을 보았습니다.
          * 라이브러리 파일의 함수는 특정한 naming convention을 지켜서 작성해야 하고, 인자도 반드시 몇몇 정해진 인자들을 받아야 한다. 또한 Java와 타입을 호환시키기 위해 C, C++에서 특정한 구조체들을 사용해야 한다. 해당 구조체들은 jni.h에 정의되어 있다.
  • 정규표현식/스터디/문자집합으로찾기 . . . . 2 matches
          * 문자 집합 정의 : {{{[문자들]}}}
          * 문자 범위 정의 : {{{[A-Za-z])}}}
  • 정모/2003.3.5 . . . . 2 matches
          1. 미정 - 다른것(정의가 모호)을 포함해서 흥미를 유발하자
          ZeroWikian 은 준회원이 아닙니다. ZeroWikian의 정의는 '''ZeroWiki 를 사용하는 사람들''' 입니다. NoSmok:OpeningStatement 를 정확히 읽어 보세요. --NeoCoin
  • 정모/2011.3.21 . . . . 2 matches
          * [김수경], [서지혜], [정의정]이 함께하는 스터디인데 [정의정] 학우가 오지 않음.
  • 정모/2011.3.28 . . . . 2 matches
          * 참가자 : [김수경], [서지혜], [임상현], [정의정], [강성현], [권순의], [장혁수], [박성현], [강소현], [황현], [윤종하], [신기호]
          * 현재 회비 내신 분: [권순의], [강성현], [정의정], [강소현], [윤종하], [신기호], [송지원], [박정근], [황현], [박성현], [김준석], [임상현], [김수경], [서지혜], [이원희] (April 1, 2011 갱신)
  • 정모/2011.3.7 . . . . 2 matches
          * 참가자 : [권순의], [강소현], [정의정], [황현], [박성현], [임상현], [송지원], [김준석], [강성현], [서지혜], [김수경], [윤종하]
          * 현재 스터디 진행 인원이 3명인데 [정의정]이 새터에 가느라 나오지 않음.
  • 정모/2011.4.4 . . . . 2 matches
          * 참가자 : [송지원], [김준석], [김수경], [서지혜], [정의정], [강성현], [권순의], [강소현], [박성현], [황현], [박정근]
          * 이날..휴대폰을 잃어버려서 찾다가 정모에 늦게 참석한 기억이 나네요..ㅡㅜ 결국 찾아서 다행입니다ㅋ. 코드레이스 참 재밌었어요 물논 저의 허접한 코딩실력에 회의를 느끼게 되었지만..그래도 시간이 제한됬을 때는 simple is best인거 같습니다. 그냥 생각나는대로 줄줄 쓰기.. - [정의정]
  • 정모/2011.5.23 . . . . 2 matches
          * 참가자 : [김수경], [서지혜], [정의정], [김홍기], [권순의], [강성현], [황현], [정진경], [김태진], [고한종]
          * 다음 OMS 주자 : [정의정]
  • 정모/2011.7.4 . . . . 2 matches
          * 참가자 : [김수경], [서지혜], [정의정], [권순의], [김준석], [송지원], [임상현], [황현], [변형진]
          * 많은 스터디에 참가하게되었습니다. 이번에는 기필코 무언가를 얻어가야겠습니다. 각오를 다지며... -[정의정]
  • 정모/2012.11.12 . . . . 2 matches
          * 참여자: [김태진], [권순의], [강성현], [정종록], [이민석], [이진규], [권영기], [김민재], [장혁수], [정의정], [김윤환]
          * [정의정]학우의
  • 정모/2012.11.5 . . . . 2 matches
          * 참여자: [김태진], [권순의], [강성현], [정종록], [이민석], [이진규], [권영기], [김민재], [장혁수], [정의정], [신형준]
          * 다음 OMS: [정의정]
  • 정모/2013.4.29 . . . . 2 matches
         [지영민], [김현빈], [박희정], [김남규], [임지훈], [최은정], [김도형], [조성욱], [이예나], [최연웅], [박상영], [김민재], [김해천], [김윤환], [김희성], [권영기], [신형준], [김태진], [박성현], [구남영], [서민관], [이봉규], [정종록], [강성현], [안혁준], [장혁수], [송정규], [이병윤], [정의정]
         5/23/2013 정의정 양아석 김해천 임지훈
  • 정모/2013.9.11 . . . . 2 matches
          * [김민재], [최다인], [박희정], [김현빈], [장혁재], [임지훈], [원준연], [김명규], [김상호], [고한종], [조영준], [김해천], [김윤환], [권영기], [신형준], [김태진], [백주협], [서민관], [안혁준], [이봉규], [송정규], [강성현], [송바위샘], [정의정], [김승태]
          * 몇 달 간격으로 경과 보고를 진행을 해보는 것은 좋지 않을까? - 정의정 학우
  • 제12회 한국자바개발자 컨퍼런스 후기/유상민의후기 . . . . 2 matches
         내가 보기에 실행 자체 데이터나 용어 정의를 잘못하지 않았을까 생각한다.
         소프트웨어 진흥원에서 이런식으로 가이드를 한다는 부분이 충격이었다. 컨설팅 후 참여 인원이 지속하기 너무 어렵지 않을까 싶다. 본인이 정립했으므로, 시중에 참고할 만한 관련 서적은 당연히 없고 용어 정의 부터 모호하다. 인상 깊은건 중간에 발표자와 프로그래머의 '행복'에 대한 언급을 많이 하는데.. 난 이거 듣고 많이 우울해 졌다.
  • 코드레이스/2007/RUR_PLE . . . . 2 matches
          * 아래와 같이 def 를써서 함수를 정의할 수 있다.
          * 위의 if문과 함수 정의, repeat를 사용하여 아래 화면과 같은 상황을 처리한다.
  • 코바예제/시계 . . . . 2 matches
         == IDL 정의 ==
         클라이언트 구현은 기본적으로 다음 세 가지 단계를 통해 이루어진다. 먼저 CORBA 환경, 즉 ORB를 초기화한다. ORB를 초기화한다는 것은 ORB 의사 객체(pseudo-object)에 대한 객체 레퍼런스를 얻게 된다는 것을 의미한다. ORB가 '의사 객체'라 불리는 이유는 그 메소드가 런타임 시스템과의 통신을 통해 라이브러리의 형태로 제공되며, 의사 객체 레퍼런스는 CORBA 인터페이스 오퍼레이션에 대한 파라미터로 전달될 수 없기 때문이다. 그 다음 단계는 객체 레퍼런스를 얻는 것이다. 객체 레퍼런스는 불투명한 데이터 구조이다. 그러나 객체 레퍼런스를 문자열로 바꿈으로써 지속성을 가지게 될 수 있다. 이것은 '객체 레퍼런스의 문자열화'라 불리며, 그 결과 얻어지는 문자열을 일컬어 '문자열화 객체 레퍼런스'라고 한다.(IOR) 이 문자열화 객체 레퍼런스는 원래의 "유효한" 객체 레퍼런스로 다시 바뀔 수 있다. 이 과정은 CORBA, 즉 ORB 인터페이스에서 정의된 두 가지 오퍼레이션 object_to_string()과 string_to_object()를 이용하여 이루어진다. 모든 CORBA 2.0 호환 ORB는 상호 운용 가능한 문자열화 객체 레퍼런스를 실제 돌아가는 객체 레퍼런스로 바꿀 수 있다. 적절한 타입으로 객체의 범위를 줄이면 그러한 결과를 얻을 수 있다. 이러한 오퍼레이션을 'narrow'라 한다. ORB를 초기화하고 객체 레퍼런스를 얻은 후에야 CORBA 프로그래밍은 원래 의도한 표준 객체 지향 프로그래밍처럼 동작하게 된다. 클라언트가 객체의 메소드를 호출하게 되면, 실제로 그 메소드는 원격 객체와 함께 동작하지만 클라이언트가 보기에는 지역 객체와 함께 동작하는 것처럼 보인다.
  • 큐와 스택/문원명 . . . . 2 matches
         cin 이 string을 입력 받는 코드는 {{{~cpp C:\Program Files\Microsoft Visual Studio\VC98\Include\istream}}} 에 정의 되어 있습니다. 궁금하시면, Debug 모드로 따라가 보세요.
         이 코드중 >> 는, string에 정의된 코드를 조금 뜯어 보면, 종단에 다음과 같은 코드를 수행합니다. 필요 부분을 발췌하였습니다.
  • 회원 . . . . 2 matches
          * 20기 - [윤종하], [신기호], [박정근], [황현], [정의정]
          * 20기 - [신기호], [박정근], [정의정]
  • 회칙 . . . . 2 matches
         제2조(정의) 본 회칙에 나오는 용어는 다음의 정의에 따른다.
  • 05학번만의C++Study/숙제제출/1 . . . . 1 match
         섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. 프로그램은 섭씨 온도로 입력할 것을 요구해야 하고, 다음과 같은 실행 결과를 출력해야 한다. 참고로, 섭씨 온도를 화씨 온도로 변환하는 공식은 Fahrenheit = 1.8 X Celsius + 32.0 이다.
  • 05학번만의C++Study/숙제제출1/윤정훈 . . . . 1 match
          * 섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. --[최경현]
  • 1002/TPOCP . . . . 1 match
          프로그래밍 프로젝트를 정의된 단계들로 세밀하게 나눌 수 있지만, 좋은 아이디어는 아니다.
  • 10학번 c++ 프로젝트/소스 . . . . 1 match
          {"■ ■"}, // 디자인 수정의 편의성을 위해 세로로 길게 씀.
  • 2011년MT . . . . 1 match
         || 정의정 || O(2) || X ||
  • 2011년독서모임/주제 . . . . 1 match
         ||실존 인물이 다뤄진 책||네 꿈에 미쳐라, 가우디 임펙트, 마리아 칼라스 내면의 열정의 고백||
  • 2dInDirect3d/Chapter2 . . . . 1 match
          Direct3D에서 사용하는 색상은 '''D3DCOLOR''' 이다. (3D에서는 COLORREF였다.) 저것을 정의하는 매크로에는 다음과 같은 세가지가 있다.
  • 2ndPCinCAUCSE/ProblemB . . . . 1 match
         우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌이므로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌이므로 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오.
  • 5인용C++스터디/멀티미디어 . . . . 1 match
         fdwSound : 사운드의 연주방식과 연주할 사운드의 종류를 정의하는 플래그이다. 이것에 따라 첫 번째, 두 번째 인수의 해석 방식이 달라진다. 여러 플래그 중 몇 가지만 알아보자.
  • 5인용C++스터디/에디트박스와콤보박스 . . . . 1 match
          예제에서는 (10, 10, 300, 35) 사각 영역에 에디트를 생성하였으며 통지 메시지를 사용할 것이므로 IDC_MYEDIT라는 매크로 상수를 1000으로 정의하여 ID로 주었다. 여기서 1000이라는 ID는 임의로 준 것이다.
  • 5인용C++스터디/키보드및마우스의입출력 . . . . 1 match
         WM_KEYDOWN 메시지는 wParam에 문자 코드가 아닌 가상 키코드라는 것을 전달해 준다. 가상키코드(Virtual Key Code)란 시스템에 장착된 키보드의 종류에 상관없이 키를 입력받기 위해 만들어진 코드값이며 다음과 같이 정의되어 있다.
  • ACM_ICPC . . . . 1 match
          * team 'AttackOnKoala' 본선 HM(Honorable Mention, 순위권밖) : [강성현], [정진경], [정의정]
  • APlusProject/QA . . . . 1 match
         대략 이런식의 테이블을 만들면 돼. 지금 정확히 이름은 못짓겠다. 만들면서 지으면 될 듯. 의미는 어떤 요구 사항이 어떻게 설계 되서 무엇으로 구현 되었는가를 번호 같은 걸로 연결 해주면 되는거야. 최종 문서들(요구 사항 정의서, 요구 사항 분석서, 기본 설계서, 상세 설계서, 소스 코딩 문서) 보고 만들면 되고 아마도 PL의 도움이 필요할 거야. PL에게는 너가 직접 연락하면 될거야. PL에게 내가 이미 이야기 해 놨으니 바로 알아들을거야. 간단히 되는 대로 올려줘. 그럼 내가 확인하고 고칠 점 있으면 알려줄께. --재동
  • AcceleratedC++/Chapter0 . . . . 1 match
          첫번째 문장을 계산하면 a라는 변수에 10을 대입하면 되고 결국 남는것은 a밖에 없으므로 a의 값이 최종 결과가 된다. 두번째 문장을 계산하면 std::cout과 "Hello World!!"를 왼쪽 쉬프트 연산을 하고 나온 결과가 최종 결과가 된다. 실재로 연산 결과가 std::cout 이고 이것이 최종 결과가 된다. 여기서 왼쪽 쉬프트 연산이 과연 std::cout과 "Hello World!!" 사이에서 가능한 것인가 라는 의문을 갖게 될수도 있겠지만 C++에는 연산자 재정의(operator overloading) 라는 것이 있기 때문에 이런것을 충분히 가능하게 만들수 있다고만 알고 넘어가기 바란다. 여기서 두번째 문장을 자세히 알고 넘어갈 필요가 있다. 두번째 문장도 앞에서 설명했듯이 계산 가능한 식이고, 결국 실행되면 계산이 수행되지만 그것과 더불어 일어나는 일이 한가지 더 있는데, 바로 표준 출력으로 "Hello World!!" 가 출력된다는 것이다. 이렇게 계산되어지는 과정에서 계산 결과와 더불어 나타나는 것을 side effect라고 한다. 첫번째 문장과 같은 경우에는 side effect가 없다. 다음과 같은 두 문장이 있다고 하자.
  • AcceleratedC++/Chapter1 . . . . 1 match
         interface : 객체의 타입으로 묵시적으로 내포 되어 있는 것은 인터페이스로서, 해당 타입의 객체에 사용 가능한 연산(operation)들의 집합을 말합니다. name을 string 타입의 변수(이름 있는 객체)로 정의 하게 되며, 우리는 string으로 할 수 있는 모든 일들을 name으로 하고 싶다는 뜻을 묵시적으로 내포하게 됩니다.
  • AcceleratedC++/Chapter4 . . . . 1 match
          * 무엇을 기준으로 sort를 할것인가? 이름? midterm? final? 알수가 없다. 따라서 우리는 predicate라는 것을 정의해 주어야 한다. 다음과 같이 해주면 된다.
  • AcceleratedC++/Chapter7 . . . . 1 match
          rand() 는 C Standard Library <cstdlib> 라이브러리에 존재한다. 일반적으로 cstdlib 에 정의된 RAND_MAX보다 작은 값을 임의적으로 리턴한다.
  • AliasPageNames . . . . 1 match
         # InterMap에는 TwinPages가 정의되어 있는지 확인하시기 바랍니다.
  • AppletVSApplication/상욱 . . . . 1 match
          - 애플릿은 라이브러리를 로딩하거나 네이티브 메소드를 정의할 수 없습니다.
  • Applet포함HTML/영동 . . . . 1 match
         DeleteMe 다음 주소로 가능하게 계정의 디렉토리를 수정하였습니다.
  • ApplicationProgrammingInterface . . . . 1 match
         API는 소프트웨어의 특정부분이 다른 부분과 소통하기위한 방법의 정의들의 집합체이다. 이는 로우레벨, 하이레벨 소프트웨어 사에에서 보통 추상화를 달성하는 한가지 방법이다.
  • Athena . . . . 1 match
          DeleteMe 이름은 좋습니다. 하지만 ["Athena"] 라는 이름의 페이지에는 여신 아테나에 대한 정의와 소개가 들어 있는 것이 올바른 것이겠지요. 그래서 ["ProjectPrometheus"], ["ProjectZephyrus"] 라고 한거랍니다. ;; --["neocoin"]
  • AutomatedJudgeScript . . . . 1 match
         이 프로그램에서는 정답과 제출된 프로그램에서 만들어낸 출력 결과가 들어있는 파일을 받아서 아래에 정의된 방법에 따라 Accepted, Presentation Error, Wrong Answer 가운데 하나로 답해야 한다.
  • C++3DGame . . . . 1 match
         3D 영역에서의 작업을 위해서는 사용할 좌표계를 정의해야 한다.[[BR]]
  • C/Assembly/포인터와배열 . . . . 1 match
         하지만 배열(LC0)은 프로그램이 수행 되고 정의 부분이 되는 순간 LC0 영역의 데이터를 스택 영역에 복사한다.
  • CCNA/2013스터디 . . . . 1 match
          * 통신을 위한 네트워크에 대한 기본적인 방식 정의
  • CNight2011/권순의 . . . . 1 match
          * Linked List의 정의
  • CNight2011/송지원 . . . . 1 match
          * Linked List의 정의 - [권순의]
  • CheckTheCheck . . . . 1 match
         입력에는 임의 개수의 체스판 배치가 들어있을 수 있으며 각 판은 각각 여덟 개 문자로 구성된 여덟 줄로 구성된다. "."은 빈 칸을 의미하며 위에서 정의했듯이 각 말을 의미하는 대문자 또는 소문자가 입력된다. 틀린 문자는 없으며 두 킹이 모두 체크를 당하는 배치는 입력되지 않는다. "." 문자만으로 구성된 비어있는 체스판이 나올 때까지 입력을 읽어야 하며 비어있는 체스판은 처리하지 않는다. 각 체스판 배치 사이에는 빈 줄이 하나씩 들어간다. 비어있는 판을 제외한 모든 판에는 정확하게 하나씩의 흰 킹과 검은 킹이 들어있다.
  • CleanCodeWithPairProgramming . . . . 1 match
          * 페어프로그래밍 - 박성현이 나에게 똥을 던져서 열심히 치웠습니다. - [정의정]
  • CodeRace . . . . 1 match
         처음에 해설자들이 시제를 제안합니다. 일종의 무대배경이 됩니다. 그리고 해설자들은 서너번에 걸쳐 요구사항 추가/수정을 합니다. 혹은 각 팀별로 돌아가면서 요구사항 추가/수정의 기회을 가질수도 있습니다. (이때 각 팀은 자기에게는 유리하면서 타 팀에는 불리하도록 요구사항 추가/수정을 할 수 있습니다.) 각 팀은 현장에서 주어진 요구사항을 빠짐없이 모두 구현해야 합니다.
  • CodeRace/Rank . . . . 1 match
         - 특정 Point가 되었을 때, 소정의 상품을 드립니다.
  • CollectiveOwnership . . . . 1 match
         Wiki:RefactorLowHangingFruit . 고쳐야 할 것이 많다면 오히려 조금씩 고치도록 한다(그리고 고치는 작업을 엔지니어링 태스크로 혹은 유저 스토리로 명시화해서 관리한다). 고치는 중에, 5분 정도의 단위로 테스트를 해봐서 하나도 문제가 없도록 고쳐 나가야 한다. 섬과 육지를 연결하는 다리가 있을 때, 이걸 새 다리로 교체하려면 헌 다리를 부수고 새 다리를 만드는 것이 아니고, 새 다리를 만든 다음 헌 다리를 부수어야 하는 것이다. {{{~cpp formatText(String data)}}}을 {{{~cpp formatText(String data,boolean shouldBeVeryFancy)}}}로 바꾸어야 한다면, {{{~cpp fancibleFormatText}}}를 만들고, 기존의 {{{~cpp formatText}}}를 호출하는 곳을 {{{~cpp fancibleFormatText(data,false)}}}로 하나씩 바꿔나가면서 계속 테스트를 돌려보면 된다. 이게 완전히 다 되었다고 생각이 들면 {{{~cpp formatText}}} 정의를 지워본다. 문제가 없으면 {{{~cpp fancibleFormatText}}}를 {{{~cpp formatText}}}로 rename method 리팩토링을 해준다. 하지만 만약 이 작업이 너무 단순 반복적인 경우에, 충분히 용기가 생기고, 또 확신이 들면 이 작업을 자동화할 수 있다(OAOO). 예컨대 IDE에서 지원하는 자동 리팩토링을 사용하거나, 정규식을 통한 바꾸기(replace) 기능을 쓰거나, 해당 언어 파서를 이용하는 간단한 스크립트를 작성해서 쓰는 방법 등이 있다. 이렇게 큰 걸음을 디디는 경우에는 자동화 테스트가 필수적이다.
  • ComputerNetworkClass/Exam2004_2 . . . . 1 match
         수신자측에서 AW(Advertised Window) 값이 어떻게 정의되는지 쓰시오.
  • DPSCChapter4 . . . . 1 match
         '''Facade(179)'''는 확장된 시스템에서(하위, 상속받은) interface들의 조합에 대한 일관적인 접근(interface)을 제공한다. Facade는 확장 시스템(하위, 상속받은)을 좀더 사용하게 쉽도록 높은 단계의 interface를 정의한다.
  • DiceRoller . . . . 1 match
          * 주사위를 굴려서 골까지 가는 게임으로 게임을 종료하면 소정의 GP를 얻을 수 있다.
  • EclipsePlugin . . . . 1 match
         단 Local 프로젝트 구조를 서버와 같게 만들어야 하며, FTP 계정의 홈디렉토리보다 하위 디렉토리는 Mapping 디렉토리로 지정할 수 없다.
  • EffectiveSTL/Container . . . . 1 match
          * 컨테이너에 Object를 넣을때에는, 그 Object의 복사 생성자(const reference)와, 대입 연산자를 재정의(const reference) 해주자. 안그러면 복사로 인한 엄청난 낭비를 보게 될것이다.
  • EightQueenProblem/da_answer . . . . 1 match
         맵을 RECORD로 정의 한 다음 한 라인에 하나씩 여왕을 올려 놓고 그 때마다 공격 가능 패스를 다 지우는(?) 방식으로 하려했는데...
  • EightQueenProblem/용쟁호투 . . . . 1 match
         $PBExportHeader$eightqueenproblem.sra
  • EightQueenProblemDiscussion . . . . 1 match
         즉, 실제 Queen의 위치들을 정의하는 재귀호출 코드인데요. 이 부분에 대한 TestCase 는 최종적으로 얻어낸 판에 대해 올바른 Queen의 배열인지 확인하는 부분이 되어야 겠죠. 연습장에 계속 의사코드를 적어놓긴 했었는데, 적어놓고 맞을것이다라는 확신을 계속 못했죠. 확신을 위해서는 테스트코드로 뽑아낼 수 있어야 할텐데, 그때당시 이 부분에 대해서 테스트코드를 못만들었죠.
  • Emacs . . . . 1 match
         vim에서는 기본 모드가 항상 편집 모드이고 쓸수있는 mode가 고정되어 있는 반면에, emacs에서는 주 모드와 부 모드를 입맛에 맞게 바꾸어 쓸수 있습니다. 예를 들어 사용자는 text-mode라는 텍스트 문서를 편집하고 작성하는 기능을 가진 주 모드를 쓰면서, 글자의 색을 바꿔주거나 들여쓰기 내어쓰기등을 사용자 정의대로 기능을 수행하는 부 모드를 쓸 수 있습니다.
  • EmbedAudioFilesForFireFox . . . . 1 match
         embed는 W3C에서 정의한 표준에 위배되는 방법이다. 표준을 통과하면서 IE, Firefox에서 재생시키려면 다음과 같이 작성한다.
  • ExtremeProgramming . . . . 1 match
          * ["Metaphor"] : Object Naming 과 프로그램의 해당 수행에 대한 커뮤니케이션의 가이드 역할을 해줄 개념의 정의.
  • FromCopyAndPasteToDotNET . . . . 1 match
         .NET 까지 오는 과정의 컴포넌트 기술에 대해 소개하는 세미나
  • GoodExams . . . . 1 match
         "갑의 종류 8가지를 나열하라"와 같은 문제는 채점하기 편리하다. 하지만 이런 류의 지식은 시험 자체를 위한 지식에 지나지 않는 경우가 대부분이다. 더욱 큰 문제는 대부분의 시험이 이런 식으로 이루어진다면 학생들의 평소 공부도 그런 쪽으로 향방이 정해진다는 점이다. 고등학교식으로, 생소한 단어가 출현하면 밑줄부터 긋고 그 말을, 간혹 사전적 정의와 함께, 외우는데 전력을 기울인다.
  • HardcoreCppStudy/첫숙제/ValueVsReference/김아영 . . . . 1 match
         - 인수를 전달할 때에는 함수에 전달되는 인수가 포인터라는 사실이 함수 정의와 프로토타입에 반영되어야 한다.
  • HaskellLanguage . . . . 1 match
         함수를 정의할 때 한 곳에 모아두어야 한다. 따라서 다음은 오류이다.
  • HelpContents . . . . 1 match
          * ["페이지이름"] - 페이지 이름 짓는 방법에 대한 정의
  • HelpOnConfiguration . . . . 1 match
         /!\ wiki.php에 정의되어 있는 WikiDB 클래스를 보면, 우선 하드코딩된 기본 설정이 있고, config.php에서 읽은 설정 사항을 그 위에 덧씌우는 방식이다.
  • HelpOnInstallation . . . . 1 match
          * backup : {{{?action=backup}}}해 보라. 백업은 data 디렉토리의 user와 text를 및 기타 몇몇 설정을 보존한다. pds/ 디렉토리를 보존하지는 않는다. 백업된 파일은 pds/ (혹은 $upload_dir로 정의된 위치) 하위에 저장된다.
  • HelpOnInstallation/SetGid . . . . 1 match
         보안상의 이유로 웹서버는 php 스크립트를 `nobody, www, apache` 혹은 `httpd`같은 특별히 제한된 계정으로 실행하게 됩니다. 이러한 이유로 [모니위키] 스크립트가 생성하게 되는 여러 파일 혹은 디렉토리는 이러한 특별한 계정의 소유가 되며 진짜 사용자가 소유하지 못하게 되는 일이 발생하고 어떤 경우는 이렇게 만들어진 파일을 읽을수도 지울 수도 없게 됩니다.
  • HelpOnProcessors . . . . 1 match
         다음과 같이 코드 블럭 영역 최 상단에 {{{#!}}}로 시작하는 프로세서 이름을 써 넣으면, 예를 들어 {{{#!python}}}이라고 하면 그 코드블럭 영역은 {{{plugin/processor/python.php}}}에 정의된 processor_python()이라는 모니위키의 플러그인에 의해 처리되게 됩니다. {{{#!python}}}은 유닉스의 스크립트 해석기를 지정하는 이른바 ''bang path'' 지정자 형식과 같으며, 유닉스에서 사용하는 목적과 동일한 컨셉트로 작동됩니다. (즉, 스크립트의 최 상단에 지정된 스크립트 지정자에 의해 스크립트의 파일 나머지 부분이 해석되어 집니다.)
  • HowManyFibs? . . . . 1 match
         피보나치 수는 다음과 같은 식으로 정의된다.
  • HowManyZerosAndDigits . . . . 1 match
         만약 800진법일 경우 0~9 까지의 숫자는 표현할수 있겠지만 그 이후의 숫자는 어떻게 표현하나요? 16진법으로 나타낼때 0에서 F 로 표현하는 것처럼, 800진법에서 10이상의 수를 표현해야 할 방법이 있어야 할 것 같은데요. 알파벳을 이용한다고 해도 Z(35)이후의 수는 표현할 방법이 없는데요. 이에 대한 정의가 없다면 정확한 답을 구할 수 없을 것 같습니다(문제에서 말한 ''0의 개수''말이죠). 간단한 예를 들어 설명하자면,
  • HowToStudyDesignPatterns . . . . 1 match
          권법에서 주먹에 대해 달통한 도사가 "권을 내지르는 법"에 대한 규칙들을 정리를 해서 애제자의 대갈통 속에 아무리 쑤셔넣는데 성공을 한들 그 제자가 도사만큼의 주먹이 나갈리는 만무합니다. "권을 내지르는 법"을 유추해 내기까지 그 스승이 겪은 과정을 제자는 완죤히 쏙 빼먹고 있기 때문입니다. 소위 '몸'이 만들어 지지 않은 것이지요. 제자는 마당 쓸기에서부터 해서, 물 긷기, 기타 등등의 몸의 수련의 과정을 겪어야만 하고, 그 제자가 스승이 정리한 그 규칙의 일련에 손뼉을 치고 춤을 추며 기쁨의 동의를 할 수 있을 정도로 과정의 축적이 이루어진 이후에야 비로소 진정한 '가르침'이 이뤄지는 것이며, 청출어람의 가능성도 생각해 볼 수 있는 것입니다.
  • IsBiggerSmarter?/문보창 . . . . 1 match
         lcs_length함수에서 cost table을 만들어주는 과정의 running time은 O(n*n), memory cost는 O(n*n)이다. 그리고 print_lcs 함수에서 longest path를 거슬러 올라가는 running time은 O(n + n) = O(n)이다.
  • Java Study2003/첫번째과제/곽세환 . . . . 1 match
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
  • Java Study2003/첫번째과제/노수민 . . . . 1 match
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
  • JavaScript/2011년스터디/URLHunter . . . . 1 match
         == 정의정 ==
  • JavaScript/2011년스터디/윤종하 . . . . 1 match
         급한대로 파스칼의 삼각형 만들어서 if, for, 함수정의 공부한거 티내려고 했는데 안되네요 ㅠ
  • JavaStudy2003/두번째수업 . . . . 1 match
          * 클래스정의 및 인스턴스(객체) 생성
  • JavaStudy2003/세번째과제/곽세환 . . . . 1 match
         = 클래스정의 및 인스턴스(객체) 생성 (예제1 + 예제2) =
  • JavaStudy2003/세번째과제/노수민 . . . . 1 match
         == 클래스 정의 및 인스턴스(객체) 생성 ==
  • JollyJumpers/황재선 . . . . 1 match
         3. test코드를 다듬었다. 테스트할때마다 콘솔로 입력받는 게 귀찮아서 test클래스에서 메인 클래스의 field를 정의하고 진행했다. 또 다른 테스트를 하기위해서 고쳐야할 부분이 흩어져 있다. 테스트코드의 설계에 관심을 가져야겠다.
  • KnowledgeManagement . . . . 1 match
         = 정의 =
  • LightMoreLight . . . . 1 match
         마부라는 사람은 특이한 행동을 한다. 복도에 n개의 전구가 있으면, 복도를 n번 왕복한다. i번째 갈 때 그는 i로 나누어 떨어지는 위치에 있는 스위치만 누른다. 처음 위치로 돌아올 때는 아무 스위치도 건드리지 않는다. i번째 왕복은 (이런 이상한 행동을 하면서) 복도를 한 번 갔다가 오는 것으로 정의된다. 마지막 전구의 최종 상태를 알아내자. 과연 그 전구는 켜져 있을까 아니면 꺼져 있을까?
  • Linux . . . . 1 match
         리눅스는 현재 컴퓨터의 커다란 흐름중의 하나이다. FSF에 의해서 지원을 받는 핵심적인 운영체제로 현재 기능적, 보안적 측면이 기존의 [Unix] 시스템에 버금갈 정도 발전하였고 [GNU]의 사상하에 만들어진 [GPL]을 따르기 때문에 무료로 사용이 가능하여 서버 운영체제로 많은 인기를 누리고 있다. 본디 리눅스라는 하는 것은 운영체제의 [Kernel] 명칭이며, 주로 접하게 되는 패키지 형태로 이루어진 배포판의 전체 구성을 리눅스라고 여기는 경우가 있으나 이는 리눅스의 광의적 정의라고 생각하면 될듯 싶다.
  • MFC/AddIn . . . . 1 match
          Ctrl+6: 함수의 선언부에서 정의부로의 이동
  • MFC/Control . . . . 1 match
         || 리스트 박스 || 기정의된 항목에서 선택을 할 수 있도록 한다. 텍스트 이외에도 아이콘을 표현하는 것이 가능하다. ||
  • MFC/DeviceContext . . . . 1 match
         윈도우 운영체제에 의해서 정의된 데이터 구조. 윈도우 운영체제가 장치에 비종속적인 GDI 함수로, 출력 요청을 처리하는 출력장치에 대한 작업으로 해석가능하다. DC에 대한 포인터는 윈도우의 API함수를 호출함으로써 얻을 수 있다.
  • MFC/ObjectLinkingEmbedding . . . . 1 match
         OLE 컨테이너, 서버 사이의 통신은 윈도우 운영체제를 매개로 동작한다. 각 OLE 를 지원하는 프로그램은 공통의 OLE DLL을 가지는데 이 것이 윈도우의 기본지원 부분이다. DLL 안의 함수들은 이렇게 객체사이의 통신을 지원한다. 이때 이를 지원하는 표준적인 인터페이스가 COM(Component Object Model)이다. 본질적으로 엠비드된 객체의 모양과 컨테이너가 그것과 통신하는 방법을 정의한것이다.
  • MFCStudy_2002_1 . . . . 1 match
         || 7/30(화) || 오목 최종완성. 연산자 재정의 || . ||
  • Map연습문제/임영동 . . . . 1 match
          //각 디코딩 규칙의 상세한 내용들을 정의해줌
  • MineFinder . . . . 1 match
         beginner 에 해당하는 메뉴클릭시 발생하는 메세지는 WM_COMMAND 이고, ID는 wParam 으로 521이 날라간다. 즉, 해당 메뉴의 ID가 521 인 것이다. (우리는 컨트롤 아이디를 쓰지만 이는 resource.h 에서 알 수 있듯 전부 #define 매크로 정의이다.) 각각 찾아본 결과, 521,522,523 이였다.
  • NUnit/C++예제 . . . . 1 match
         평소대로 하자면 이렇게 하면 될것이다. 하지만 현재 프로젝트는 [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmxspec/html/vcmanagedextensionsspec_16_2.asp Managed C++ Extensions]이다. 이것은 C++을 이용해서 .Net을 Platform위에서 프로그래밍을 하기 위하여 Microsoft에서 C++을 확장한 형태의 문법을 제안된 추가 문법을 정의해 놓았다. 이를 이용해야 NUnit이 C++ 코드에 접근할수 있다. 이경우 NUnit 에서 검증할 클래스에 접근하기 위해 다음과 같이 클래스 앞에 [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmxspec/html/vcmanagedextensionsspec_16_2.asp __gc] 를 붙여서 선언해야 한다.
  • NumberBaseballGame . . . . 1 match
         조금 더 문제 정의를 명확히 할 필요가 있지 않을까 합니다. (여기에 올라온 몇 개의 코드들을 살펴볼 때 명확한 스펙이 잘 전달되지 않은듯 합니다)
  • ObjectOrientedDatabaseManagementSystem . . . . 1 match
         Malcolm Atkinson을 비롯한 여러 사람들이 그들의 영향력 있는 논문인 The Object-Oriented Database Manifesto에서, OODBMS에 대해 다음과 같이 정의하였다.
  • Omok . . . . 1 match
         = 정의 =
  • OperatingSystem . . . . 1 match
         사전적인 정의를 살펴보연 다음과 같다. ([[http://wikipedia.org wikipedia]]에서 발췌)
  • OurMajorLangIsCAndCPlusPlus/stdarg.h . . . . 1 match
         - 가변 전달인자 처리 매크로 정의
  • OurMajorLangIsCAndCPlusPlus/stdlib.h . . . . 1 match
         stdlib.h - Standard library 정의
  • PC실관리수칙 . . . . 1 match
          4. 특정 사람이 자발적으로 많이 참여한 경우, 월말에 소정의 선물(책 등)이 지급될 수 있다.
  • PairProgramming토론 . . . . 1 match
         왕도사와 왕초보를 어떻게 정의하느냐에 따라 좀 다를 수 있겠습니다. 제가 늘 말하듯이 "전문가"끼리의 PairProgramming은 일반적으로 성공적일 확률이 높습니다. 하지만 전문가일수록 자신의 프라이드와 에고가 강하기 때문에 PairProgramming의 장점을 충분히 이용 못하는 경우도 있습니다.
  • PerformanceTest . . . . 1 match
         비교적 CPU와 OS에 의존적이지 않은 방법으로는 ftime 함수와 timeb 구조체를 사용하는 방법이 있습니다. 밀리세컨드 단위까지 밖에 제공되지 않습니다. sys/timeb.h 헤더에 정의된 내용이 ANSI C 는 아니라고 알고있습니다.
  • Postech/QualityEntranceExam06 . . . . 1 match
          boolean algebra 의 정의
  • PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 1 match
         이장에서는 서로 다른 의미로 사용되는 용어의 정의를 목적으로 한다.
  • ProgrammingLanguageClass/2006/EndTermExamination . . . . 1 match
         a) functional side effects의 정의를 쓰시오.
  • ProgrammingLanguageClass/Exam2002_1 . . . . 1 match
          * Primitive Data Type 에 대해 정의하시오.
  • ProgrammingLanguageClass/Exam2002_2 . . . . 1 match
          * functional side effects 에 대해 정의하시오
  • ProgrammingPartyAfterwords . . . . 1 match
         '오.. 대화진행속도가 빠르다!' 1002 가 본 moa 의 마치 평소 손발을 맞춰본 팀같았다. 근데, 토론하는 것을 들으면서 1002가 생각하기엔 '음.. 근데, 너무 초반에 Algorithm-Specific 하게 생각하는게 아닐까. 일단은 문제를 간단한 문제로 분해하는(보통 1002가 'Design' 을 간단하게 정의하라고 할때 저렇게 표현한다.) 과정이 더 중요할것 같은데'
  • ProgrammingPearls/Column1 . . . . 1 match
         이것의 수행시간은 Θ(n)이다. 이 챕터는 문제를 주의 깊게 분석하다 보면, 가끔 엄청난 이득을 가져다 줄때가 있다는 교훈을 주고 있다. 문제 정의는 문제 풀이의 90프로다. 일반적으로 많은 공간을 사용하면 적은 시간이 소요된다고 한다. 그런데 비트맵 소트는 시간도 줄고, 공간도 줄어들었따. 적은 데이터를 다루는 것은, 그것을 수행하는 데에 더 적은 시간이 든다는 것이다. 그리고 데이터를 디스크에 두기 보다는 메모리 상에 두는 것이 디스크 액세스 같은 시간 걸리는 일을 줄일 수가 있는 것이다. 프로그램을 간단하게 짜자. 유지보수도 쉽고, 견고할 것이다.
  • ProgrammingPearls/Column6 . . . . 1 match
          * 문제 정의
  • ProgrammingWithInterface . . . . 1 match
         언제나 개발을 할 때 '어라~ 같은 일 하는데? 이거 Base 클래스 만들어서 위로 올려야 겠는데?' 일말의 틈도 주지 않고 실행한다. 다형성을 사용하는 코드를 생성한다. '와우~! 한결 깔끔해 졌는걸?' 하지만 오산이었다. 시간이 지나서 먼가 추가할 동작들이 생겼다. 이제 고치기 시작한다. Base 클래스 부터... 고치고 나니 컴파일이 되지 않는다. 코드 수정의 여파가 하위 클래스들에게 까지 미친다. 정말 미친다. 이런 상속을 통한 계층 구조는 상위 클래스와 하위 클래스의 결합도를 높여준다. 지나 치게 크게..! 동감하지 않는가? 하나를 고쳤는데 수정할 꺼리가 마구 쏟아지는 상황을...
  • ProjectPrometheus/EngineeringTask . . . . 1 match
         || Database 스키마 정의 (서평, 북 Weight 등) ||
  • ProjectPrometheus/Iteration1 . . . . 1 match
         || 7/03 pm2:30~4:40 || 요구사항, 일정 정의 ||
  • ProjectPrometheus/Iteration4 . . . . 1 match
         || RS Data Base 스키마 정의 || 0.5 || ○ ||
  • ProjectPrometheus/LibraryCgiAnalysis . . . . 1 match
         headers = {"Content-Type":"application/x-www-form-urlencoded",
         def getSrchResult(headers,params):
          conn.request("POST", "/cgi-bin/mcu200", params, headers)
         등록페이지 양식 정의
  • ProjectPrometheus/UserStory . . . . 1 match
         === Requirement 받은 사항 (UserStory 식을 재정의 함) ===
  • ProjectSemiPhotoshop . . . . 1 match
          * ["ProjectSemiPhotoshop/요구사항"] - 요구 정의 기술 문서입니다.
  • ProjectSemiPhotoshop/요구사항 . . . . 1 match
         이 페이지는 ["ProjectSemiPhotoshop"]의 요구 정의 기술 문서입니다.
  • ProjectZephyrus/Thread . . . . 1 match
          * ''Database Connection Pool 을 사용하던 하지 않던, DB 자원을 얻어오는 부분을 하나의 end point에서 처리하세요. 처음부터 이를 고려하지 않을 경우, '''*.java''' 에서 Database Connection을 생성하고, 사용하는 코드를 머지않아 보게 될겁니다. 이는 정말 최악입니다. pool을 쓰다가 쓰지 않게 될 경우는?다시 pool을 써야 할 경우는? 더 좋은 방법은 interface를 잘 정의해서 사용하고, 실제 DB 작업을 하는 클래스는 Factory 를 통해 생성하는게 좋습니다. 어떤 방식으로 DB를 다루던 간에 위에서 보기엔 항상 같아야 하죠. --이선우 [[BR]]
  • ProjectZephyrus/일정 . . . . 1 match
         ||6.7(금)||5시||상규,상민||친구 삭제 이외 스펙 정의 서버 기능 구현||
  • PyUnit . . . . 1 match
         테스팅을 하기 위해 Python의 assert 구문을 사용한다. testcase가 실행될 때 assertion을 실행하면 AssertionError 가 일어나고, testing framework는 이 testcase를 'failure' 했다고 정의할 것이다. 'assert' 를 명시적으로 써놓지 않은 부분에서의 예외가 발생한 것들은 testing framework 에서는 'errors'로 간주한다.
  • RandomWalk/황재선 . . . . 1 match
         // 경계 값 기호상수로 정의
  • RandomWalk2 . . . . 1 match
         모든 요구사항 변경이 끝났다. 히딩크처럼 "여전히 배가 고프다"면, 이 게임을 삼차원(큐빅)으로 확장하는 것을 고려해 보라. 입력/출력자료의 스펙 등은 모두 자신이 판단해서 직접 정의하라. 어찌 되었건 여기까지 도달한 것을 진심으로 축하한다.
  • Refactoring/BadSmellsInCode . . . . 1 match
          * switch-case 부분을 ExtractMethod 한 뒤, polymorphism이 필요한 class에 MoveMethod 한다. 그리고 나서 ReplaceTypeCodeWithSubclasses 나 ["ReplaceTypeCodeWithState/Strategy"] 를 할 것을 결정한다. 상속구조를 정의할 수 있을때에는 ReplaceConditionalWithPolyMorphism 한다.
  • RegressionTesting . . . . 1 match
         === 위키 페디아에서 정의 ===
  • RegularExpression/2011년스터디 . . . . 1 match
         Regular Expression을 정의하고 더러운 상황에 대한 Regex의 강력함을 느껴보자.
  • Spring/탐험스터디/wiki만들기 . . . . 1 match
          * 위키 문법을 별도로 정의하고 파서를 구현하는 대신 Markdown을 사용하기로 결정했다.
          * RequestMappingHandlerMapping의 매핑 테이블을 보니 {[ URL ], methods=[ Method 타입 ], params=[],headers=[],consumes=[],produces=[],custom=[]}등으로 Request를 구분하고 있었다.
  • StackAndQueue . . . . 1 match
         == 문제 정의 ==
  • StringOfCPlusPlus/상협 . . . . 1 match
          //연산자 재정의
  • SummationOfFourPrimes . . . . 1 match
         오일러는 솟수가 숫자 영역에서 무한하다는 가설을 자신의 고전이론으로 증명했다. 모든 수들이 4개의 양의 솟수 합으로 표현될 수 있을까? 답을 알 수는 없다. 답은 느린 386 컴퓨터에서도 돌아갈 수 있기를 원한다. 시간 제한은 펜티엄3 800 컴퓨터를 기준으로 한다. 이 문제에서 솟수의 정의는 "완전한 두 개의 다른 정수로만 나눠 떨어지는 양수"이다. 예를 들어,37은 정수 37과1로만 나눠지는 솟수이다.입력은 한 라인에 하나의 정수N만 포함한다. 여기서 N은 10000000이하의 수이다. 이 수는 4개의 솟수의 합으로 구성될 수 있는 수이다. 입력은 하나의 수만 받는다. 입력 라인에 맞춰, 주어진 조건에 맞는 4개의 솟수를 한 줄에 출력한다. 입력된 수가 솟수 4개의 합으로 표현될 수 없으면"Impossible."이라 출력한다. 답은 여러개가 있을수 있다. 모든 정답을 받아들인다.
  • SystemEngineeringTeam/TrainingCourse . . . . 1 match
          * 이성으로 판단할 수 없을땐 감정에 맡기시는게.. 원래 판단은 감정의 영역이지만 [http://blog.daum.net/94795759/7355310 참고]- [서지혜]
  • TCP/IP . . . . 1 match
         == 정의 ==
  • TestDrivenDatabaseDevelopment . . . . 1 match
         만일 MockRepository를 먼저 만든다면? interface 를 추출한 순간에는 문제가 없겠지만, 다음에 DBRepository 를 만들때가 문제가 된다. interface 의 정의에서는 예외를 던지지 않으므로, interface 를 다시 수정하던지, 아니면 SQL 관련 Exception 을 전부 해당 메소드 안에서 try-catch 로 잡아내야 한다. 즉, Database 에서의 예외처리들에 대해 전부 Repository 안에서 자체해결을 하게끔 강요하는 코드가 나온다.
  • Trace . . . . 1 match
         ( {{{~cpp TRACE}}} 매크로가 내부적으로 함수 호출을 하는것 같기는 한데 생각해보면 {{{~cpp TRACE}}} 매크로보다 우리가 정의한 함수를 호출하는게 조금더 오버헤드가 있을것 같다 )
  • VendingMachine/세연/1002 . . . . 1 match
         근데.. 좀 명확해 보이진 않는군요. enum 에서 설정된 것을 재정의해주면
  • VisualAssist . . . . 1 match
         VS6 에서의 그 버그많은 Intelli Sense 기능을 많이! 보완해준다; VS6 에서 지원하지 않는 매크로 인라인 함수 등에 대해서도 Intelli Sense 기능을 지원. Header - Cpp 화일 이동을 단축키로 지원하는 등 편한 기능이 많다.
  • VonNeumannAirport/1002 . . . . 1 match
         movePeople 의 재정의.
  • VonNeumannAirport/Leonardong . . . . 1 match
          행렬 곱셈 연산을 정의하면 이를 이용하기 위해서는 트래픽이나 거리 행렬 중 어느 한 쪽은 전치행렬이 되어야 한다. 그러려면 전치 행렬 연산도 있어야겠다.
  • WikiSandPage . . . . 1 match
         == 환경설정의 로그인 화면 ==
  • WikiTextFormattingTestPage . . . . 1 match
         Here is a test of headings enclosed in equal signs (=), one for the top level, one more for each lower level. Whitespace is '''not''' allowed outside of the equals signs, while whitespace is ''required'' on the inside (separating the header text and the equals signs).
         |||||||| '''Header''' ||
  • XOR삼각형 . . . . 1 match
          XOR연산은 두개의 숫자가 같으면 0, 다르면 1 입니다. (DeleteMe XOR 연산의 보다 정확한 정의는 같으면 0, 다르면 1이 아니고 1의 갯수가 홀수일때 1, 짝수일 때 0 입니다)
  • XpQuestion . . . . 1 match
         interface 가 잘 정의하고 둘이서 분업을 하면 훨씬 효과적 아닌가?
  • Yggdrasil/가속된씨플플/0장 . . . . 1 match
          * 네임스페이스: 서로 관계가 있는 이름들의 집합. 표준 라이브러리는 std 안에 자신이 정의하고 있는 모든 이름들을 담고 있음.
  • YouNeedToLogin . . . . 1 match
          ''DeleteMe 약간의 오해가 있었던거 같은데, 제가 말한 '작은 불편'이란 로그인 과정의 불편이 아니라 이상한 형태의 새페이지 생성으로 인한 불편을 말한 것입니다. --["이덕준"]''
  • Z&D토론/학회명칭토론백업 . . . . 1 match
         통합 과정의 최소화를 위해서였습니다. 통합 과정은 보다 나은 학회라는 생각의 과정일뿐 통합이 주는 아닙니다. 통합 과정을 간소화 하고 진행을 철저히 하자는 데 기인한 생각이었습니다. - 정직 -
  • Z&D토론백업 . . . . 1 match
         '''짧은 제 소견은...''' 형식적인 것들을 따지기 보다는, 내실있는 학회로 거듭나는 것이 중요하다는 것입니다. 학회의 이름, 통합시에 양쪽의 이해관계, 세미나나 회원 운영방식의 고수... 이런 것들은 우리가 같은 과로서, 모두 함께 발전하고 과의 역량을 결집하는 데, 크게 중요하지 않습니다.. 따라서, 제 생각에는... 통합 과정의 절차는 간소화하고, 서로 다른 모임이 아닌 동문으로서의 하나된 생각으로, 앞으로의 실무적인 얘기에 중점을 뒀으면 합니다.. 그리고, 어차피 새로 들어오는 02학번 신입생들은 통합에 대한 과정은 모를터인데, 그 후배들에게 학회에 대한 '''사명감과 책임감'''을 키워주는 점도 토의해 보아야 할 것 같습니다...
  • ZIM/EssentialUseCase . . . . 1 match
         RUP는 ADD이고 XP는 FDD에 가깝습니다. 참고로 마이크로소프트에서는 FDD를 선호합니다. 스펙과 요구사항이 미리 확실히 정의되어있고 변화할 일이 거의 없고, 개발시 리스크가 낮다(유사 기술 개발 경험이 있다)면 ADD를, 그렇지 않고, 변화가능하고, 요구사항도 확실치 못하고, 개발시 리스크가 높다면 FDD가 적절하겠죠. XP의 아키텍춰에 대해서는 http://users.vnet.net/wwake/xp/xp0007b.shtml 를 참고하세요. --김창준
  • ZeroPageServer . . . . 1 match
          * 계정의 발급은 [안혁준]에게 문의 바랍니다.
  • ZeroPageServer/CVS계정 . . . . 1 match
         == 정의 ==
  • ZeroPageServer/MySQL계정 . . . . 1 match
         == 정의 ==
  • ZeroPageServer/SubVersion . . . . 1 match
         리눅스 계정의 시스템에서 다음의 명령어를 통해서 출력되는 문장을 복사해서 관리자에게 보내주면 된다.
  • ZeroPageServer/Telnet계정 . . . . 1 match
         == 정의 ==
  • ZeroPageServer/old . . . . 1 match
         == 회원에게 발급되는 계정의 종류 ==
  • ZeroPageServer/계정신청상황 . . . . 1 match
          ZeroPage Server계정의 구 정보는 자신의아이디.old 로 symbolic 링크 되어있습니다. 그리고
  • ZeroPage_200_OK/note . . . . 1 match
          * 위와 같은 형식으로 내려줄경우 클라이언트(요청한 쪽)에서 _callback함수만 정의해두면 로딩이 끝남과 동시에 불리게 된다.
  • ZeroPagers . . . . 1 match
          * [정의정]
  • ZeroPage성년식/준비 . . . . 1 match
         ||07|| 정의정, 김동준, 임상현, 정지연 || 김수경 || ||
  • [Lovely]boy^_^/3DLibrary . . . . 1 match
         // Header
  • callusedHand/books . . . . 1 match
          오픈 소스 방식의 개발을 무료 프로그램 개발로 여기는 것은 잘못된 생각입니다. 오픈 소스방식의 개발은 단지 소프트웨어 개발론 중 하나일 뿐입니다. 시장에 내다팔 상품을 오픈 소스 개발 방식으로 만들어 낼 수도 있습니다. . 오픈 소스 방식의 개발을 통해서도 얼마든지 수익을 창출할 수 있으며 근래의 리눅스 업체들이 이를 뒷받침해 주고 있습니다. 왜 독점적 소프트웨어를 가지고 돈을 버는 것보다 불리하다고 생각합니까? 레드햇의 로버트 영의 말을 유심히 들어볼 필요가 있습니다. “대부분의 산업 국가에서는 그냥 수도꼭지만 틀면 물을 마실 수 있는데 어떻게 에비앙이 수백만 달러의 물을 이 시장에 팔 수 있는가? 간단히 말하자면 에비앙이라는 브랜드는 믿으면서 여러분의 수도꼭지의 물은 믿을 수 없다는 불합리한 두려움 때문이라고 할 수 있다. 바로 이점이 비공식 레드햇 리눅스 복사본을 쓰지 않고 50달러짜리 공식 레드햇 리눅스를 많은 사람들이 선호하는 이유이다. 케찹은 향료를 가미한 토마토 튜브에 불과하다. 여러분은 토마토, 식초와 같은 자유롭게 배포할 수 있는 물건들로 부엌에서 케찹을 만들 수 있다. 하지만 소비자는 왜 부엌에서 케찹을 만들고 있지 않으며 하인즈는 어떻게 해서 케찹 시장의 80%이상을 점유하고 있는가? 편리함은 원인의 일부분 뿐이며 진정한 원인은 하인즈가 소비자의 마음 속에 케찹의 맛을 정의할 수 있었기 때문이다. 이제는 하인즈 케찹의 브랜드가 큰 영향력을 가지고 있기 때문에 소비자인 우리는 하인즈 케찹이 더 좋다고 생각해 버린다.”
  • html5/geolocation . . . . 1 match
          * Geolocation API 관련 메서드는 모두 window.navigator 객체에 정의
  • html5/offline-web-application . . . . 1 match
          * 원칙적으로 금지하고 허용할 것들만 정의하는 방식이다.
  • ricoder . . . . 1 match
         void serve() //서브메뉴 정의
  • vending machine . . . . 1 match
         커피값이 150원이고 사용하는 동전의 최대값이 500원이므로 거스름돈을 계산하기 위해서 상태는 0~450원까지를 상태 변수로 설계한다. 따라서 상태변수는 4개가 필요하게 된다. ABCD=0000일때는 현재 남아있는 돈이 0원인 상태이고, ABCD=0001 일때는 남아있는 돈이 50원인 상태, ABCD=0010 일때는 남아있는 돈이 100원인 상태, ABCD=0011 일때는 남아있는 돈이 150원인 상태, ... , ABCD=1001 일때는 남아있는 돈이 450원인 상태, 그리고 ABCD=1010 이후는 사용하지 않는 무정의 조건 상태(Don't care condition)로 처리한다. 또한 Filp-flop은 D Flip-flop을 사용하기로 한다.
  • 강희경/메모장 . . . . 1 match
          //변수 정의
  • 고한종 . . . . 1 match
          * 원본 프로그램은 ActiveX로 만들어져있었다. 게다가 스레드 돌리기 싫어서 DoEvent 기법을 썼다(...) 이걸 나는 iOS로 포팅 하는데 성공했다. ActiveX도 결국 MFC이기 때문에 별로 안 어려워 보일 수 있으나... 모든 사용자 정의 함수는 void형에, 모든 멤버변수는 public이어서 어디서 초기화하는지 일일히 찾아서 작업해야 했다. 미치는줄 알았음. 심지어 한 함수안에서 딱한번 쓰는 변수도 클래스 멤버변수로 선언되어 있기도 했음.. 그냥 지역변수를 쓰지!? - [고한종], 13년 3월 16일
  • 공학적마인드 . . . . 1 match
         이전의 [페르마의마지막정리]에서의 '수학자와 과학자' 이야기를 떠올리면서 개인적인 정의를 생각해보면, AnswerMe [수학자와과학자]
  • 권영기 . . . . 1 match
          * URP ([정의정],[김태진],[권영기])
  • 금고/문보창 . . . . 1 match
         층수가 n 인 건물중 해를 찾는 위치에 첫 금고를 떨어뜨린다고 하자. 그러면 건물은 그 위치 아래와 위로 나뉘어지며, 위쪽은 T(b, k) 가 되고, 아래쪽은 T(a, k-1)이 된다. 여기서 a, b는 첫 금고를 떨어뜨린 위치를 기준으로 나뉘어진 위 아래 건물의 층수다. 여기서 문제의 정의에 따라 우리가 구하고자 하는 해는
  • 기억 . . . . 1 match
          i. 감정 : 정의가(affective value)-감정이 극단 적인것이 더 잘기억, 기분 일치(mood congruence)-사람의 성격에 따라 기억 되는 단어, 상태 의존(state dependence)-술취한 사람, 학습 자세
  • 김동준/Project/Data_Structure_Overview/Chapter1 . . . . 1 match
          크기인 j-tuple 이며 item 들은 정의되지 않음.
  • 김동준/원맨쇼Report/08김홍기 . . . . 1 match
          # 처음 타자로 상당히 잘 해 준것 같다 (주제 선정의 아쉬움?)
  • 데블스캠프/2013 . . . . 1 match
         || 정의정(21기) || MVC와 Observer 패턴을 이용한 UI 프로그래밍 ||
  • 데블스캠프2002/진행상황 . . . . 1 match
          * StructuredProgramming - 창준이형이 역사적인 관점에서의 StructuredProgramming에 대해 설명을 하셨다. 그 다음 ["1002"]는 ["RandomWalk2"] 문제에 대해서 StructuredProgramming을 적용하여 풀어나가는 과정을 설명해 나갔다. (원래 예정의 경우 StructuredProgramming 으로 ["RandomWalk2"] 를 만들어가는 과정을 자세하게 보여주려고 했지만, 시간관계상 Prototype 정도에서 그쳤다)
  • 데블스캠프2004/목요일후기 . . . . 1 match
         사실 : 암호화방법, 암호화와 복호화 방법, STL 의 정의(?)와 그 예들을 배웠습니다.(string,vector,map)
  • 데블스캠프2004준비 . . . . 1 match
          당연히 없었습니다. [데블스캠프]의 기본취지를 보시면, '밤새서 회원을 뽑기위한' 것 입니다. [데블스캠프]를 재정의하던지, 새로운 행사로 이름을 바꾸던지 해야지요.--NeoCoin
  • 데블스캠프2011/넷째날/Git/권순의 . . . . 1 match
         // myCmdBase.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell . . . . 1 match
          * [데블스캠프2011/다섯째날/How To Write Code Well/정의정, 김태진]
  • 데블스캠프2011/둘째날/후기 . . . . 1 match
          * 이번 주제는 1학년 때 새싹 스터디 하면서 잠깐 보여주었던 내용을 다시금 보게 되어서 재미있었습니다. Cheat Engine을 직접 사용해 볼 수 있는 부분도 상당히 매력있었습니다. 많이들 듣던 해킹에 대한 정확한 정의도 알게 되었고 그 과정이 어떻게 되는지 조금이나마 알 수 있었던 부분이었습니다. 세미나에서 보여주고자 했던 게임이 생각되로 되지 않아 아쉽긴 했지만, 한편으로는 저렇기 때문에 보안이 중요하다는 것도 다시금 생각할 수 있었습니다.
  • 데블스캠프2011/첫째날/Java . . . . 1 match
          * [강소현], [정의정]
  • 데블스캠프2011/첫째날/개발자는무엇으로사는가 . . . . 1 match
         === 정의정 ===
  • 데블스캠프2011/첫째날/오프닝 . . . . 1 match
          || [정의정] || 잉여하지맙시다 || pkccr || dict ||
  • 데블스캠프2012 . . . . 1 match
         || UI프로그래밍 || [정의정](20기) ||
  • 땅콩이보육프로젝트2005/개발일지 . . . . 1 match
          * 입력 : 위키에 땅콩 페이지 개설 후 '입력'란에 입력받고 확인을 누르면 입력된다. 내용의 수정의 위해 '수정' 버튼도 존재한다. 그 아래에 같은 형식으로 '가르치기' 도 존재한다.
  • 무엇을공부할것인가 . . . . 1 match
         ["무엇을공부할것인가"]라는 것을 논하기 이전에 기본적인 전제에 대해 생각해 볼 필요가 있습니다. 그러면 문제 정의 자체가 바뀌어 버릴 수가 있습니다. 예를 들어 "어떻게 하면 이 프로시줘를 옵티마이징할까"를 고민할 때, 아예 그 프로시줘를 실행시키지 않는 방법은 없을까를 묻는 것이죠.
  • 방울뱀스터디/Thread . . . . 1 match
         == Thread 의 정의 ==
  • 새싹교실/2011/GGT . . . . 1 match
         || 선생님 || [정의정] ||
  • 새싹교실/2011/Noname . . . . 1 match
          * 변수 이름 설정의 규칙.
  • 새싹교실/2011/學高/1회차 . . . . 1 match
          * Source file, Resource file, Header file
  • 새싹교실/2011/데미안반 . . . . 1 match
          // 그리고 float이란 실수를 정의해 주는건가요???
  • 새싹교실/2011/씨언어발전/4회차 . . . . 1 match
         함수의 장점 : 복잡한 함수를 여러번 쓸필요없이 한번 정의하여 불러와 쓸수있고 코딩이해에 도움이된다.
  • 새싹교실/2012 . . . . 1 match
         ||12||[새싹교실/2012/세싹]||정의정, 권영기, 김희성|| 9회차 진행|| ||
  • 새싹교실/2012/AClass/2회차 . . . . 1 match
         -포인터는 기억장소에 있는 어떤 변수의 주소를 말한다. 즉, 다른 기억장소 위치의 주소를 갖고 있는 변수이다.포인터는 두개의 단일 연산자인 &와 *로서 정의한다. &연산자는 일반적인 변수 이름으로 사용되고 그 변수의 주소를 의미한다. 즉 &a는 a의 주소를 의미한다. *p는 p안에 있는 주소 위치의 내용을 의미한다. &는 주소 연산자이고 , *는 간접 연산자로 포인터선언을 의미한다. 일반적인 포인터 선언형식: 데이터형 *포인터변수명; 이다.
  • 새싹교실/2012/열반/120326 . . . . 1 match
         int f(int x); // 정수(정의역) x를 인자로 받아 정수(공역)를 반환하는 함수 f 를 '선언' 한 것입니다.
  • 새싹교실/2012/우리반 . . . . 1 match
          1.이번시간 배운 내용(자료형, %d, %c, 절차지향, if-else, scanf, printf, else if, ==, =, +=,>)을 글로 써서 정리해봅시다. 괄호안에 있는 단어들을 이용해서 써봐요. 각각의 단어들의 뜻을 나열해도 좋고, 수업시간에 한 것을 생각해가며 이러이러한 것은 주의해야한다 라는 형태로 줄글로 써도 좋아요. 단순히 정의만 쓰더라도 A4 반페이지는 될거같네요~.
  • 새싹교실/2012/해보자 . . . . 1 match
          * 함수의 정의: 컴파일러에게 '이런 이런 함수는 이런 이런 일을 한다'라고 알리는 것.
  • 새싹교실/2013 . . . . 1 match
         || 08 || [새싹교실/2013/영고] || [정의정] || [최연웅], [조영준] || 1회차 || 매주 목요일 저녁 6시 ||
  • 새싹교실/2013/록구록구/2회차 . . . . 1 match
          #define 에서 message를정의하고 printf("message")와 printf(message)의 차이점
  • 새싹교실/2013/양반/1회차 . . . . 1 match
          * [http://soenlab.com/lecture/ccpp/cpp1/3-1-1.htm 변수의 정의]
  • 서버구조 . . . . 1 match
         usr - 사용자가 정의하는 프로그램 저장
  • 스터디그룹패턴언어 . . . . 1 match
         본 패턴언어에는 21가지 패턴이 있다. '정신', '분위기', '역할' 그리고 '맞춤'(Custom)이라고 부르는 네 섹션으로 구분된다. 해당 섹션의 패턴을 공부할 때, 이 언어의 구조를 고려하라. 본 언어의 앞 부분인 '정신' 섹션의 패턴은 스터디 그룹의 핵심 즉, 배움의 정신(spirit of learning)을 정의하는 것을 도와 줄 것이다. 다음 섹션 '분위기', '역할', '맞춤'은 앞선 핵심 패턴과 깊이 얽혀있으며 그것들을 상기시켜줄 것이다.
  • 시간관리인생관리/요약 . . . . 1 match
          ==== 약속 시간에 늦지 않으려면 '다른 모든 것을 중단하는' 결정의 순간을 확인하라 ====
  • 실습 . . . . 1 match
         11) C/C++ Header File을 선택한 후, 오른쪽 File 칸에 "SungJuk.h"라고 기입한다.
  • 아인슈타인 . . . . 1 match
         그는 자신이 '사회 정의와 사회적 책임이라는 열정적 감각'을 갖고 있음을 인정했다. 아인슈타인은 그의 명성 덕택으로 평화주의·자유주의·시오니즘과 같은 대의를 지지하는 데 영향력이 있었다. 그러나 아이러니컬하게도 이러한 이상주의적인 사람이 물질 입자가 엄청난 양의 에너지로 바뀔 수 있다는 에너지-질량 방정식 가설로 지금까지 알려진 가장 파괴적인 무기인 원자폭탄과 수소폭탄의 창조를 증명했다.
  • 안혁준 . . . . 1 match
          * [http://blog.naver.com/qa22ahj/100104060487 리눅스 부팅용 usb 만들기(설정의 저장및 하드 접근 가능)]
  • 오목/재선,동일 . . . . 1 match
         ==== Header ====
  • 우리가나아갈방향 . . . . 1 match
         ZP는 인력 Pool 이고, 모임의 장으로서의 역할만이라도 충실할 수 있다면. 학교가 그 역할을 제대로 못해주고 술자리로도 그 허전함을 채울 수 없을때 ZP가 그 역할을 제대로 해줄 수 있다면. 그것을 ZP의 정체성으로 정의해도 좋지 않을까. 홈 브루 컴퓨터 클럽을 꿈꿀 수 있을지도.--석천 [[BR]]
  • 웹에요청할때Agent바꾸는방법 . . . . 1 match
         ## @brief 사이트 검색 결과 중 각 정의 결과 를 얻어 오는 클래스
          req.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')
  • 위키QnA . . . . 1 match
          FrontPage가 현재 하고 있는일이 (보여주고 있는 것) ZeroWiki 정의, 사용용도, Starting Point (여기에는 프로젝트 열거도 포함), 제안이야. 이중에서 사용용도와 제안은 새 페이지로 빼는 것이 좋을 것 같은데. 그리고 프로젝트 열거 밑에 Starting Point 밑에 두는 것도 생각. 그리고 또하나는 현재 이 프로젝트 관련 글을 Q&A가 아닌 제안페이지에 두는것이 더 좋겠다는 것. 현재 우선적인 직접접근성을 제공받아야 할 것은 project니까. 그에 대해서는 나도 별 이견 없음. --석천
  • 위키로프로젝트하기 . . . . 1 match
          * How - 목표를 위한 방법과 일정의 기록이다. Offline 또는 Online 상에서 한 일에 대한 ["ThreeFs"] 를 남겨라.
  • 이영호/개인공부일기장 . . . . 1 match
         ☆ 18 (월) - binaryfile to textfile && textfile to binaryfile 소스를 짬. eady.sarang.net계정의 sources에 있음. 모든 커맨드를 막아둔 곳에서 유용하게 쓰임.
  • 일정잡기 . . . . 1 match
          * 어떤 일정의 날짜를 잘 잡는데 중요~~한~~(하다고 생각되는) 요소는 3가지이다.
  • 임인택/삽질 . . . . 1 match
          * DirectDraw 를 사용하려다가 계속 정의되지 않은 타입이라 나옴 - DX SDk 인클루드 순서를 맨 위로, 라이브러리도 마찬가지.
  • 자유로부터의도피 . . . . 1 match
          * 신앙은 인류의 내적 관계나 내적 긍정의 표현일 수도 있고, 개인의 고독과 인생에 대한 부정적 태도에 뿌리 박힌 깊은 회의의 감정에 대한 반작용의 구성일 수도 있다.
  • 장용운/템플릿 . . . . 1 match
         템플릿 함수를 선언할 때, 선언부와 정의부를 분리하면 에러가 나는데 왜 그런지 모르겠다.
  • 전시회 . . . . 1 match
          * 좀 성의있게 알카노이드(벽돌깨기)를 만들지... 기본적인 메서드 정도만 정의되어 있었다. --[김홍선]
  • 정규표현식/스터디/메타문자사용하기 . . . . 1 match
          * 주의할 점은 대괄호가 두번 들어간다. posix 표현은 [:xdigit:] 이기 때문에 문자집합을 정의하려면 대괄호를 한번 더 써줘야 한다.
  • 정규표현식/스터디/문자집합으로찾기/예제 . . . . 1 match
          1. 아래 예문을 리스트 정의([])로 한꺼번에 특수문자들을 찾아보아라.
  • 정규표현식/스터디/반복찾기 . . . . 1 match
          * +, *, ?가 일치하는 수의 최솟값은 0이나 1이다. 문자수의 최솟값을 명시적으로 정의 불가능.
  • 정렬 . . . . 1 match
         == 문제 정의 ==
  • 정모/2002.5.30 . . . . 1 match
          * PairProgramming 에 대한 오해 - 과연 그 영향력이 '대단'하여 PairProgramming을 하느냐 안하느냐가 회의의 관건이 되는건지? 아까 회의중에서도 언급이 되었지만, 오늘 회의 참석자중에서 실제로 PairProgramming 을 얼마만큼 해봤는지, PairProgramming 을 하면서 서로간의 무언의 압력을 느껴봤는지 (그러면서 문제 자체에 대해 서로 집중하는 모습 등), 다른 사람들이 프로그래밍을 진행하면서 어떠한 과정을 거치는지 보신적이 있는지 궁금해지네요. (프로그래밍을 하기 전에 Class Diagram 을 그린다던지, Sequence Diagram 을 그린다던지, 언제 API를 뒤져보는지, 어떤 사이트를 돌아다니며 자료를 수집하는지, 포스트잎으로 모니터 옆에 할일을 적어 붙여놓는다던지, 인덱스카드에 Todo List를 적는지, 에디트 플러스에 할일을 적는지, 소스 자체에 주석으로 할 일을 적는지, 주석으로 프로그램을 Divide & Conquer 하는지, 아니면 메소드 이름 그 자체로 주석을 대신할만큼 명확하게 적는지, cookbook style 의 문서를 찾는지, 집에서 미리 Framework 를 익혀놓고 Reference만 참조하는지, Reference는 어떤 자료를 쓰는지, 에디터는 주로 마우스로 메뉴를 클릭하며 쓰는지, 단축키를 얼마만큼 효율적으로 이용하는지, CVS를 쓸때 Wincvs를 쓰는지, 도스 커맨드에서 CVS를 쓸때 배치화일을 어떤식으로 작성해서 쓰는지, Eclipse 의 CVS 기능을 얼마만큼 제대로 이용하는지, Tool들에 대한 정보는 어디서 얻는지, 언제 해당 툴에 대한 불편함을 '느끼는지', 문제를 풀때 Divide & Conquer 스타일로 접근하는지, Bottom Up 스타일로 접근하는지, StepwiseRefinement 스타일를 이용하는지, 프로그래밍을 할때 Test 를 먼저 작성하는지, 디버깅 모드를 어떻게 이용하는지, Socket Test 를 할때 Mock Client 로서 어떤 것을 이용하는지, 플밍할때 Temp 변수나 Middle Man들을 먼저 만들고 코드를 전개하는지, 자신이 만들려는 코드를 먼저 작성하고 필요한 변수들을 하나하나 정의해나가는지 등등.)
  • 정모/2002.9.26 . . . . 1 match
          한번씩 돌아가면서 정모 기간 (2주정도?) 내 일어난 일이나 사건들. 관심사 등등. 그리고 2차행사로서 간단한 세미나를 한다던지, 자신이 만든 프로그램에 대해 시연을 한다던지. 문제를 제대로 정의할 수 있다면, 답을 구할 수 있을것 같다. (가장 간단한 일을 시작할 수 있을 것 같다. 정모 스타일에 비격식적 대화시간을 넣어본다던지, 자네가 정모 진행을 할때, 주위를 환기시킬 수 있고. 또는, 회장의 진행없이 나가볼 수도 있고.) --["1002"]
  • 정모/2011.10.5 . . . . 1 match
          * 오랜만에 정모에 참석했는데 가자마자 허니컴 세미나를 하고있길래 슬펐습니다. 제것도 분명 태블릿pc인거 같은데... 그리고 OMS는 정말 툴의 위대함을 새삼 깨닫게 되었네요. -[정의정]
  • 정모/2011.11.30 . . . . 1 match
          * 참가자 : [김수경], [서지혜], [고한종], [추성준], [송치완], [김태진], [정진경], [김준석], [강소현], [정의정], [박정근], [윤종하]
  • 정모/2011.3.14 . . . . 1 match
          * 참가자 : [김준석], [송지원], [이원희], [김수경], [서지혜], [임상현], [정의정], [정지연], [권순의], [박성현], [강소현], [황현], [신기호], [김태진], [경세준]
  • 정모/2011.3.2 . . . . 1 match
          * 참가자 : [강성현], [강소현], [경세준], [권순의], [김동준], [김상호], [김수경], [김정혜], [김준석], [김홍기], [박성현], [박정근], [서지혜], [송지원], [이원정], [정의정], [정지연]
  • 정모/2011.7.11 . . . . 1 match
          * 참가자 : [김수경], [서지혜], [정의정], [권순의], [김준석], [송지원], [임상현], [김태진], [정진경], [고한종]
  • 정모/2011.7.18 . . . . 1 match
          * 긍정적으로 행동하고 부정적으로 계획하는 능력이 필요합니다. '왜 일하는가'라는 책에서 읽었는데 아이디어나 목표를 정하고 추진하는 것은 긍정적인 사람에게(책에서는 가연성 인간이라고 표현했음) 계획과 평가는 부정적인 사람에게 맡기면 좋다고 했었습니다. 낙관적인 것도 현실적인 대안 없이는 그저 생각없는 사람일 뿐이라 생각합니다만 그렇다고 긍정의 자세를 버리는 것도 생각없는 사람인듯.. - [서지혜]
  • 정모/2011.7.25 . . . . 1 match
          * 참가자 : [김수경], [권순의], [송지원], [김태진], [고한종], [황현], [정의정], [박성현], [박정근], [김정욱]
  • 정모/2012.10.29 . . . . 1 match
          * 참여자: [김태진], [권순의], [강성현], [정종록], [이민석], [이진규], [권영기], [김민재], [도상희], [황혜림], [장혁수], [정의정], [한송이]
  • 정모/2012.12.10 . . . . 1 match
          * 가장 코알라를 닮은 사람 상 (정의정 vs 정진경 vs 권영기)
  • 정모/2012.3.19 . . . . 1 match
          * 참가자 : [박성현], [서민관], [정종록], [김수경], [변형진], [임상현], [장용운], [정진경], [김태진], [권순의], [황현], [서지혜], [정의정], [추성준], [이민규], [박도건], [PichotFabien],[박상영],[김희성], [김민재] ...
  • 정모/2012.4.2 . . . . 1 match
          * 참가자 : [변형진], [권순의], [김준석], [서민관], [권여문], [김수경], [서지혜], [정의정], [정종록], [신기호], [강성현], 유창우, [황현], [김태진], [정진경], [추성준], [이진규], [권영기], [김희성]
  • 정모/2012.4.30 . . . . 1 match
          * [권순의], [변형진], [김준석], [정의정], [김수경], [강성현], [정종록], [박성현], [서민관], [김태진], [이진규], [정진경], [이민규], [김희성], [권영기], [심재철]
  • 정모/2012.4.9 . . . . 1 match
          * 쩌리들 : [변형진], [김준석], [정의정], [민태원], [서지혜], [김수경], [강성현], [정종록], [박성현], [서민관], [권여문], [김태진], [이진규],[정진경], [이민규], [장용운], [김희성], [권영기], [김윤환], [박도건]
  • 정모/2012.5.14 . . . . 1 match
          * 상시로 관리하고 체크하는데, 많이 체크한사람에게 소정의 보상
  • 정모/2012.5.7 . . . . 1 match
          * 참여자 : [변형진], [김준석], [정의정], [민태원], [권순의], [김동준], [임상현], [서지혜], [김수경], [강성현], [정종록], [박성현], [서민관], [김태진], [장용운], [이진규],[정진경], [이민규], [김희성], [권영기], [권우성], [박상영], [김윤환], [최경진], more
  • 정모/2012.7.11 . . . . 1 match
          * 지원 내용 : 소정의 장학금과 재료비 및 문헌 구입비
  • 정모/2012.9.17 . . . . 1 match
          * 참여자 : [김민재],[권영기],[이재형],[이성훈],[박상영], [김정욱], [김태진],[정진경],[심재철],[황혜림],[한송이],[도상희],[정종록],[권순의],[정의정] - 명
  • 정모/2013.1.15 . . . . 1 match
         12박상영 - 11신형준 - 07정의
  • 정모/2013.1.22 . . . . 1 match
          * 참여자 : [권순의], [안혁준], [송정규], [강성현], [김태진], [서민관], [김민재], [조광희], [고한종], [윤종하], [이진규], [권영기], [김윤환], [정의정], [임상현]
  • 정모/2013.2.26 . . . . 1 match
          * 참여자 : [김민재], [송정규], [고한종], [김태진], [정진경], [서민관], [강성현], [정의정], [권영기]
  • 정모/2013.4.1 . . . . 1 match
          * 간단한 인공지능의 정의에 대한 소개.
  • 정모/2013.9.25 . . . . 1 match
          * [김민재], [최다인], [박희정], [김현빈], [임지훈], [고한종], [김해천], [신형준], [김태진], [서민관], [안혁준], [송정규], [강성현], [정의정]
  • 정의정 . . . . 1 match
          * 07' 정의정-koalacousin
  • 조현태/놀이/미스틱아츠 . . . . 1 match
          === 제작 과정의 낙서 ===
  • 조현태/놀이/지뢰파인더 . . . . 1 match
          === 제작과정의 잡담 ===
  • 졸업논문/본론 . . . . 1 match
         기본적으로 지원 되는 레코드 삽입, 삭제, 변경은 자동으로 사용자 화면까지 만들어주는 장점을 가진다. 대부분 웹 애플리케이션이 레코드를 한 건씩 입력하는 인터페이스를 가지기 때문에, 개발 전반부에 걸친 데이터 삽입, 삭제, 변경을 자동화할수 있기 때문이다. 특히 삽입, 변경은 저장이란 단일 개념으로 보고 save메소드로 추상화하였다. 또한 삭제는 관련된 레코드를 함께 지워주는 기능까지 제공한다. 이러한 기능은 Model클래스에 정의된 데이터 타입에 따라 자동으로 이루어진다. 따라서 삽입, 삭제, 변경 SQL문을 실행하는 인터페이스에 많은 노력을 기울이지 않고 기민하게 전체 시스템을 설계함에 집중할 수 있다.
  • 졸업논문/요약본 . . . . 1 match
         웹 환경은 이제 하나의 플랫폼으로 자리 잡고 있다. 빠르게 변하는 웹 환경에는 python같은 객체지향 언어가 적당하다. Django는 python으로 만들어진 웹 애플리케이션 프레임워크로, 데이터베이스를 추상화하여 개발자가 기민하게 웹 애플리케이션을 작성하도록 돕는다. Django에서는 기존에 ODBC등을 이용하는 CLI 보다 한 단계 더 높은 수준에서 데이터베이스를 사용할 수 있다. 예를 들어 주언어 python에 클래스를 정의하면 데이터베이스 테이블을 자동으로 생성해주며, 클래스가 변경되면 데이터베이스 테이블도 자동으로 수정해준다. 그 밖에 삽입, 삭제, 수정, 조회 기능을 클래스가 가진 메소드로 추상화하여 주언어 수준에서 데이터베이스를 사용할 수 있도록 한다. 이러한 지원을 바탕으로 웹 애플리캐이션 개발자는 기민하게 프로그램을 작성할 수 있다.
  • 지금그때/OpeningQuestion . . . . 1 match
         NoSmok:피터드러커 교수의 [이노베이터의조건]나, TheNextSociery 를 보면, 지식 노동자와 지식 기술자의 정의가 있습니다. 고등학교때 배웠던 정보화 사회는 현재에서 이미 도래했습니다. 그는 책에서 대중적 직업을 크게 지식 기술자와 지식 노동자로 나뉩니다. 지식 기술자는 '''General 한 주제'''을 가지면서 '''한 주제에 특화된 능력'''을 가진 사람이고, 둘다 부족하거나, 한 주제에 전문가 인점을 빼면 지식 노동자로 구분합니다. 정보화 사회의 중기에는 이 두계층의 구분이 거의 없는 반면, 지식 직업들이 늘어나면서 이는 확연히 구분됩니다. 앞으로 더 심해 질것입니다.
  • 지금그때2003/규칙 . . . . 1 match
          * 단, xx의 정의에 대한 질문시에 시작하기가 난해 했는데(ex- 전산센터가 뭐에요?), 이는 조그마한 트릭으로 충분히 극복할수 있었다.
  • 지금그때2004/토론20040401 . . . . 1 match
          * 작년과 같다. 라고 했는데, '작년과 같다' 무엇으로 정의 되었는지 알려주세요. --NeoCoin
  • 창섭/배치파일 . . . . 1 match
         배치 처리의 흐름을 <레이블>에서 정의되어 있는 위치로 옮깁니다.
  • 최소정수의합/임인택2 . . . . 1 match
         로 정의했다가 이전에 작성했던데로 gauss 의 방법을 이용하여,
  • 타도코코아CppStudy/0731 . . . . 1 match
          * 윈도우에 그림을 그려주기 위해서는 DC라는게 필요하다. MFC에서는 DC를 랩핑하고 있는 가장 기본적인 클래스로 CDC를 지원한다. CDC는 그림 그리는 사람의 손이라고 생각하면 된다. 그림을 그려주기 위해 어떤 색깔의 펜이나 붓을 고를수 있을 것이다. 또한 사각형, 원도 그릴수 있다. 이러한 행위들을 CDC의 멤버함수로 정의해놨다. 우리는 그걸 갖다 쓰기만 하면 된다. 세부적인 것은 나중에 알아도 된다.
  • 파스칼삼각형 . . . . 1 match
         == 문제 정의 ==
  • 파킨슨의 법칙 . . . . 1 match
          * '''건축물의 위엄과 영광의 쇠퇴''' 혹은 행정의 장벽
  • 프로그래머가지녀야할생각 . . . . 1 match
         DeleteMe--우선 윗글에서 (확실히) 불분명한 두 단어를 사용하였는데 하나는 ["programmer"]이고 다른것은 ["생각"]이라는 단어입니다. 우선 단어 정의가 필요한거 같은데..대충 비슷하게는 생각할꺼 같은데 정교화가 필요할꺼 같군요. 재밌고 유익한 토론이 되었으면 합니다.
  • 프로그래머의길 . . . . 1 match
          프로그래밍에 대한 정의는 여러가지가 있지만, 필자는 이와 같이 말하고 싶다.
  • 프로그래밍십계명 . . . . 1 match
          *어떠한 것을 수정했을 때에 연관된 것이 따라서 변하지 않는다면 그것이 곧 벌레이니라. 컴파일러로 하여금 매개 변수 리스트를 완전하게 검사하도록 하고, 언젠가 손대야 하거나 따라서 변해야 하는 수치는 전부 매크로로 치환하며, 형 정의를 적극 활용하여라.
  • 프로그래밍언어와학습 . . . . 1 match
         하지만 이제는 컴퓨터 시스템에 대한 저차원적인 이해 없이도 얼마든지 뛰어난 프로그램을 만들 수 있는 영역이 늘어나고 있습니다. 언제든지 저차원에 대한 이해는 도움을 주지만 이제는 저차원의 정의가 조금 더 상향 조정된 문제 영역이 훨씬 많습니다. (컴퓨터 발전 초기에는 적용도메인이 협소했습니다)
  • 피보나치 . . . . 1 match
         == 문제 정의 ==
  • 피보나치/김준석 . . . . 1 match
          pivo라는 함수가 있다고 정의*/
  • 행사 . . . . 1 match
         중앙대학교 컴퓨터 공학부 내 학회 ZeroPage의 행사를 정의하고 설명하는 페이지.
Found 473 matching pages out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 1.2248 sec